Un alias est une commande que vous créez en combinant des commandes
IRC, paramètres associés et conditions. On définit un alias en tapant dans la section tools/alias la ligne :
/nomdel'alias ESPACE /commandesdel'alias
Un alias peut être un raccourci pour les commandes que vous tapez le plus
souvent ou la réunion de plusieurs commandes. Il peut contenir des "objets" de
programmation classiques (boucles,conditions...)
Vous pouvez affecter une des touches F1...F12 à vos aliases.
Pour "programmer" mIRC, le mieux est d'utiliser l'éditeur texte inclus dans le
logiciel. Choisissez alias dans le menu tools pour accéder à la section alias de
l'éditeur. Vous travaillez alors par défaut sur le fichier alias.ini, fichier texte
contenant la définition de tous vos aliases. Si vous utilisez déjà un script le mieux
est de faire une deuxième installation de mIRC (sans script) dans un nouveau répertoire
pour créer vos premiers alias ; sinon vous risquez d'endommager le script que vous
utilisez. Vous pouvez aussi créer plusieurs fichiers ini pour séparer vous alias ou
groupes d'alias et les charger ensuite dans mirc à la demande par la commande /load.
1. Vous avez l'habitude de dire une phrase genre
"salut les copains, comment ça va aujourd'hui" en arrivant sur certains canaux.
La commande IRC pour faire ça est : /say salut les copains, comment ça va
aujourd'hui. C'est long ! tapez dans la section alias (tools) la ligne : /salut /say salut les copains, comment ça va aujourd'hui.
Vous venez de définir l'alias /salut, à chaque fois que vous taperez
/salut le message "salut les copains, comment ça va aujourd'hui"
sera envoyé dans le canal actif.
2. pour obtenir les informations sur quelqu'un il vous faut taper
/whois nick.
Si vous définissez dans tools l'alias /w ainsi : /w /whois $1 alors /w
nick suffira (vous gagnez 4 lettres ! c'est juste un exemple).
Les aliases utilisent également un certains nombre de chaînes et identificateurs
spéciaux comme ($1, $3-5, $$1, $?, $!, #$1, #$$1 #$? $read $date $adate $fulldate
$time et $day.........). Nous verrons cela en détail plus tard.
L'identificateur $1 signifie : le premier mot tapé après l'alias. Dans notre exemple
lorsque vous tapez /w nick, le premier mot tapé après l'alias (/w) est : nick.
On a donc dans ce cas $1=nick et la commande /whois $1 s'exécute comme /whois nick.
On définit donc un alias en tapant dans la section alias la
ligne /nomdel'alias ESPACE /commandesdel'alias
Ca marche aussi sans les "/" mais prêtera à confusion, habituez vous avec
les "/".
Pour exécuter plusieurs commandes dans un alias, il faut les séparer par
le caractère | (<AltGr>6).
Exemples :
1. /j : joindre 3 canaux définition à taper dans Tools/Aliases : /j /join $1 | /join $2 | /join
$3.
Vous avez créé l'alias /j, qui utilisé comme ceci : /j #canal1 #canal2 #canal3
sera interprété comme /join #canal1 | /join #canal2 | /join #canal3 ($1
= #canal1 ; $2 = #canal2 ; #3 = #canal3)
Le problème avec $i c'est que si vous tapez /j #canal1, mIRC va attendre $2 et $3 et ça
risque de buguer votre script. La solution est d'utiliser $$i (voir section variables et
identificateurs).
2. /site : faire la publicité de votre site avec un message de plusieurs lignes
définition à taper dans Tools/Aliases : /site /say visitez mon super site | /say
http://youpie.free.fr | /say vous ne serez pas déçu
désormais si vous tapez simplement /site, les 3 lignes seront envoyées
à la fenêtre active (canal ou privé)
3. /jt : joindre un canal et en changer le topic
définition à taper dans Tools/Aliases : /jt /join $1 | /topic $1 , le canal super !
désormais si vous tapez /jt #canal vous joignez #canal et en changez le topic en
"#canal, le canal super !" (si le changement de topic est permis sur ce chan
bien sur). Remarquez que l'on a utilisé deux fois la valeur de $1.
4 . /dkb : déOPer, kicker et bannir un nick du canal actif.
définition à taper dans Tools/Aliases : dbk /mode # -o $1 | /kick # $1 | /mode # +b $1
Désormais si vous tapez /dkb nick le nick sera déopé, kické et banni du canal actif
(encore un identificateur : #, qui désigne le canal actif.
Pour exécuter plusieurs commandes dans un même alias, vous pouvez également utiliser la
syntaxe suivante, à la place des | (reprise de l'exemple 2) :
/site {
/say visitez mon super site
/say http://youpie.free.fr
/say vous ne serez pas déçu
}
Les crochets : utiles pour contrôler l'ordre d'évaluation des chaînes et
identificateurs. EX : /sayvar /say % [ $+ [ $1 ] ]
Les aliases peuvent être utilisés directement ou intégrés dans des scripts (popups,
remote). Un alias peut "appeler" d'autres alias (ou s'appeler lui-même), le
risque est de bloquer mIRC (boucle perpétuelle). Pour arrêter l'exécution dans ce cas
tapez <CTRL-arrêt>
Si vous voulez affecter une des touches F1...F12 il suffit de nommer
l'alias /f1.../f12
Pour affecter Shift-F1 il suffit de nommer l'alias /sf1. Pour CTRL-Fi, nommer l'alias /cfi
EXEMPLES
/f1 /say salut tout le monde. Chaque fois que vous taperez F1, vous direz "salut tout
le monde" dans le canal actif.
/f2 /dcc send $1 c:\chemin\fichier . Ici il faut d'abord sélectionner un nick dans la
liste (sur un canal), alors en tapant F2 vous lui envoyez fichier.
/f3 /dcc send $1. Idem, mais mirc vous demande quoi envoyer.
Comme nous l'avons vu plus haut avec $1, il existe de nombreuses chaînes
utilisables dans les alias. Dans cette section nous allons découvrir toutes ces chaînes,
à quoi elles servent et comment les employer.
$N La plus simple, elle contient un mot. $1
contient le premier mot tapé après lalias. $2 le deuxième ... et $N le Nième. EXEMPLE : définition de l'alias : /op /mode $1 +oo $2 $3
alors taper /op #youpie tintin milou OPera tintin et milou sur le canal #youpie.
$N-M Cette chaîne contiendras les mots N à
M de la "phrase" tapée après l'alias. EXEMPLE : définition de l'alias : /extrait /say les mots
2 à 4 sont : $2-4
alors taper /extrait tintin ne retrouve plus Milou enverra le message "le mots 2 à 4
sont : ne retrouve plus" à la fenêtre active.
$N- Cette chaîne peut contenir plusieurs
mots... $N- contiendras le Nième mot, ET tous les suivants. Essayez : EXEMPLE : définition de l'alias : /penser /say je pense
que $2-
alors taper /penser la fin du monde est pour bientôt enverra le message "je
pense que fin du monde est pour bientôt" à la fenêtre active (le "la"
premier mot à disparu).
$$N Comme $N il désigne le Nième mot tapé
après l'alias, sauf que dans le cas du double $$, l'alias ne s'exécute QUE si ce Nième
mot existe, sinon il est ignoré. EXEMPLE : définition de l'alias : /j /join $$1
alors taper /j #canal vous fera joindre #canal, mais taper /j sera ignoré
$? Un alias avec cette chaîne en lui
peut-être démarre sans spécifier de paramètres. mIRC affichera une boite de dialogue,
dans laquelle du texte peut-être entré. EXEMPLE : définition de l'alias : /j /join $?"entrez
le nom du canal :"
alors taper /j ouvrira une boite de dialogue avec le texte : "entrez le nom du
canal". Une fois tapé le nom du canal et cliqué OK, la boite se ferme et vous
joignez le canal choisi.
$! Cette chaîne est utilisée seulement
avec $?. Si vous venez dutiliser $? juste avant dans un alias, vois pouvez utiliser
$! Pour rappeler cette chaîne. Par exemple : EXEMPLE : définition de l'alias : /j /join $?"entrez
le nom du canal :" | /say vive
alors taper /j ouvrira une boite de dialogue avec le texte : "entrez le nom du
canal". Une fois tapé le nom du canal et cliqué OK, la boite se ferme et vous
joignez le canal choisi.
#$1 #$$1 et #$? La même chose que $1, $$1
et $? utilisées avec des noms de canaux, elles ajoutent un # devant du paramètre. EXEMPLE : définition de l'alias : /j /join #$1
alors, /j youpie est utilisable (à la place de /j #youpie dans le cas de /j /join $1)
Un identificateur est une chaîne spéciale, prédéfinie dans mIRC, dont le contenu
est défini par la façon dont lalias, le popup ou un remote est appelé.
Voici une liste complète des identificateurs utilisables dans mIRC. D'abord les plus
utiles puis tous les autres.
# Très important : il contient toujours le nom du
canal dans lequel lalias est exécuté.
/op /mode # +o $1
tapez "/op youpie", et youpie deviendra op sur le canal courant.
$me cet identificateur contient toujours votre nick.
$read [-nl#] <fichier.txt> Il choisit une ligne au hasard dans le
fichier et insère cette ligne dans lalias. Cette ligne peut contenir du texte, et,
aussi, des commandes ! De plus $!read qui est la même que $read sauf quil
nest pas évalué la première fois quil est inséré dans les routines
dalias. Ceci est pratique si vous avez besoin dévaluer le $read a chaque
fois. Le paramètre -n évite lévaluation de la ligne, il fait en sorte que la
ligne soit traitée comme du texte ! Par exemple :
$readini [-n] <fichierini> <section> <item> Similaire a
$read cet identificateur lit des items dun fichier ini. Il est utilisé avec la
commande /writeini. Les deux utilisent les routines standard de windows pour écrire et
lire dans les fichiers ini. On pense que les commandes $readini et /writeini vont ouvrir
de nouvelles possibilités pour écrire vos propres actions automatiques sur IRC. Le
paramètre -n évite lévaluation de la ligne.
$url Cet identificateur contient la page que votre navigateur.
$ip Votre adresse IP. $server Le serveur que vous utilisez. $active Le nom de la fenêtre active dans mIRC. $time Lheure sur votre PC. $away Vous dit si vous êtes marques comme away ou non. $ticks Le nombre de ticks depuis que votre OS a été démarre. $idle Le temps idle qui est retourne par les commandes CTCP userinfo et
finger. $online Le nombre de secondes passes depuis que vous êtes connectes. $version La version de mIRC.
$ctime Le nombre de secondes depuis le 1 janvier 1970 a 00:00:00 GMT.
$asctime(N) La valeur de ctime en texte.
$day Le jour courant (Monday, Tuesday...) désole, mais cest en anglais
$date La date (au format européen)(OUI ! mIRC na pas été fait aux USA)
alternativement, utilisez $adate (américain), $fulldate ou $day.
$duration(secondes) Traduit une durée en secondes en
jours/heures/minutes/secondes
$logdir, $getdir, $wavedir, $mircdir, $mididir,$script et $scriptdir Le chemin de
ces répertoires.
$mircini Le chemin complet de lini que vous utilisez.
$nopath(filename) retourne le nom de du fichier sans son répertoire.
$nofile(filename) le contraire de la commande précédente.
$exists(filename) Vérifie si le fichier existe. (retourne $true ou $false)
$findfile(dir,filename,N) cherche dans le répertoire la Nième occurrence du
fichier spécifie.
$ddename Le nom du serveur DDE de mIRC.
$abs(N) Retourne la valeur absolue du nombre N. $chr(N) Retourne le caractère ayant pour code ascii N. $asc(C) Retourne le code ascii du caractère C. $len(texte) Retourne la longueur du texte "texte". $upper(texte) Retourne le texte en majuscules. $lower(texte) Retourne le texte en minuscules. $left(texte,N) Retourne les N caractères de gauche du texte. $right(texte,N) Retourne les N caractères de droite du texte. $mid(texte,p,N) Retourne les N caractères du texte en partant du pième $pos(chaîne,souschaîne) Retourne la position de souschaîne dans
chaîne.
$replace(chaîne,souschaîne,replacement) Remplace souschaîne dans chaîne.
$remove(chaîne,souschaîne) Enlève souschaîne de chaîne.
$strip(texte) Enlève tous les gras, soulignes, inverse, et les couleurs
dun texte.
$count(string1,string2) Retourne le nombre doccurrences de string2 dans
string1.
$str(text,N) Retourne le texte répète N fois.
$rand(X,Y) Retourne un nombre au hasard entre X et Y.
$lines(file) Retourne le nombre de lignes du fichier spécifie.
$usermode Retourne votre mode courant. $nick(#,N) Retourne le Nième nick sur le channel #.
$snick(#,N) Retourne le Nième nick sélectionné sur le channel #.
$opnick(#,N) Retourne le nick du Nième op sur le channel #.
$nopnick(#,N) Retourne le nick du Nième non-op sur le channel #.
$vnick(#,N) Retourne le nick du Nième voice sur le channel #.
$nvnick(#,N) Retourne le nick du Nième non-op et non-voice sur le channel #.
$comchan(Nick,N) Retourne les channels sur lesquels vous et nick sont.
$query(N|Nick) Retourne la Nième fenêtre de query que vous avez ouvert.
$chat(N) Retourne le nick de la Nième fenêtre de dcc chat que vous avez ouvert.
$fserv(N) Retourne le nick de la Nième fenêtre de serveur que vous avez ouvert.
$send(N) et $get(N) Retourne le nick de la Nième fenêtre de send/get.
$notify(N) Retourne le Nième nick dans la liste de notify en ce moment sur IRC.
$token(N,C,texte) Retourne le Nième token du texte séparé par le caractère
C.(C est le code ascii du caractère)
$addtok(texte,token,C) Ajoute token a la fin du texte uniquement si il nest
pas déjà dans le texte.
$findtok(texte,token,C) Retourne la position du token dans le texte.
$gettok(texte,N,C) Retourne le Nième token dans le texte. (aussi N-, N-M)
$instok(texte,token,N,C) Insère un token a la Nième position dans le texte
même si il existe.
$remtok(texte,token,C) Supprime 1 token du texte.
$reptok(texte,token,new,C) Remplace 1 token dans le texte.
Pour les identificateurs précédents, vous pouvez spécifier N=0 (zéro) pour récupérer
le nombre total de nicks/channels/tokens etc. pour cet identificateur.
$snotify Retourne le nick couramment sélectionne dans la fenêtre
notify. $address Retourne ladresse complète de lutilisateur qui a
lance la ligne remote. $address(nick,type) Scanne la liste interne des adresses et retourne
ladresse dun utilisateur sil y en a de trouvé. $maddress Retourne ladresse qui corresponds à celle de
lutilisateur pour un événement ou un remote. $maddress(address) Retourne une adresse correspondant à la liste des
utilisateurs remote.
$level(address) Recherche une adresse correspondante dans la liste des
utilisateurs remote et retourne son niveau.
$ulevel Retourne le niveau dutilisateur qui correspond à un événement.
$clevel Retourne le niveau de commande qui correspond à un événement.
$dlevel Retourne le niveau dutilisateur par défaut
$mask(address,type) Retourne ladresse avec le masque spécifié.
Les identificateurs et les variables peuvent être places dans des crochets.
Exemple : /echo $right(3,$left($len(pouet),ToMooOrNotToMoo)) donne 'Moo'
Identificateur avec des paramètres de propriétés.
De nombreux identificateurs peuvent être utilises avec des paramètres spéciaux. Il est
ainsi plus simple de se souvenir de leur syntaxe et aide beaucoup dans les scripts. Leur
syntaxe est $identificateur(N,#,nick).propriété
$server(N|nick) Donne accès a la liste des serveurs dans
File/Setup/IRC_Servers. $server(N) pour ladresse, .desc pour la description, .port pour le
port, .group pour le groupe. $ial(mask,N|nick) Donne aces a la liste dadresse interne. $ial(mask,N) pour ladresse complète, .nick pour le nick, .user
pour le nom dutilisateur, .host pour lhôte et .addr pour ladresse.
$url(N) Donne accès a la liste des URL.
$url(N) pour ladresse, .desc pour description, .group pour le préfixe
$chan(N|#) retourne de nombreux paramètres du channel sur lequel vous êtes.
$chan(N|#) retourne le nom de channel, .topic, .mode, .key, .limit ...
$chat(N|nick) nick, .ip, .status (active, waiting, inactive)
$fserv(N|nick) nick, .ip, .status, .cd (répertoire courant)
$get(N|nick) nick, .ip, .status, .file, .size, .rcvd, .cps, .pc
$send(N|nick) nick, .ip, .status, .file, .size, .sent, .lra, .cps, .pc
$timer(N) Retourne les timers activés.
$timer(N) pour lid, .com, .time, .reps, .delay, .type
$group(N|name) identificateur.
$group(N) donne le nom de groupe.
$group(N).status et $group(name) vous dit si le groupe est activé ou pas.
Comme vous venez de le constater, mIRC a un grand nombre didentificateurs
intégrés que vous pouvez utiliser dans vos alias et remote. Il est aussi possible de
créer ses propres identificateurs. Les identificateurs sont définis dans la section
alias et ils ressemblent comme deux gouttes deau à des alias, sauf quils se
terminent par /return X. Vous pouvez faire retourner tout ce que vous voulez. Par exemple,
la somme de deux nombres.
EXEMPLE :
/somme {
%temp = $1 + $2
return %temp
}
Maintenant, il est possible dutiliser lidentificateur $somme partout dans des
alias, popups ou remote.
/somme $1 $2 /say la somme de $1 et $2 est $somme($1,$2).
If/elseif/else peuvent aussi être imbriques. Vous pouvez utiliser () et {} pour vous
assurer que les termes sont évalués correctement (dans le bon ordre), mais vous n'avez
pas besoin de les utiliser. Utiliser les accolades rends aussi le traitement plus rapide
puisque mIRC sait exactement quoi faire.
Comparateurs et opérateurs disponibles == égal à != diffèrent de < inférieur à > supérieur à <= inférieur ou égal à >= supérieur ou égal à // est divisible par \\ n'est pas divisible par
isin v1 est dans v2
iswm v1 avec ses jokers corresponds à v2
ison nick v1 est sur le canal v2
isop nick v1 est op sur le canal v2
isvo nick v1 est voice sur le canal v2
isnum v1 est un nombre dans la gamme v2 qui est de la forme n1-n2 (v2 est
optionnel)
ischan v1 est un canal sur lequel vous êtes.
isauto v1 est un utilisateur de votre liste auto-op pour le canal v2 (v2 est
optionnel)
isignore v1 est un utilisateur de votre dans votre liste ignore avec le switch v2
(v2 est optionnel)
isprotect v1 est un utilisateur dans votre liste d'utilisateurs protégés pour
le canal v2 (v2 est optionnel)
isnotify v1 est un utilisateur de votre liste notify.
Pour avoir le résultat inverse vous pouvez utiliser le préfixe "!"
Pour exécuter des boucles suivez le modèle suivant (par
exemple):
set %i 1 (initialistation de %i à 1)
:label (repère)
.... (instructions)
inc %i (augmente i d'1)
/if %i==X {goto fin} (examen de la condition de sortie de la boucle)
goto label (passage au pas suivant)
:fin (repère)