Il vous est possible d'attribuer des niveaux supérieurs à 1 à certaines personnes, vos
amis, vos ennemis, etc. Pour cela, utilisez la fonction auser <n> <nick>.
Par la suite, vous pouvez intercepter des événements particuliers concernant ces utilisateurs
spéciaux.
Par exemple, vous pouvez automatiquement kicker un opérateur lorsqu'il déoppe une personne
qui a le niveau 10, sur le canal #pouet:
ON 10:DEOP:#pouet: {
if ($me isop $chan) {
mode $chan +o $opnick | kick $chan $nick Ne déoppe pas mon ami $opnick !
}
}
A noter que la ligne de script effectue deux actions: elle re-oppe la personne déoppée,
et elle kicke l'opérateur qui l'a déoppée; et ce, seulement si vous avez l'op
sur le canal.
La commande auser a son contraire: la commande ruser <n> <nick>
qui enleve le niveau à <nick>.
Noter que l'interception d'événements particuliers peut ne pas avoir d'effet
si jamais vous n'êtes pas op du canal. Pour intercepter un événement si et seulement
si vous êtes op, préfixez le niveau du signe @ (arrobas). Exemple:
ON @10:DEOP:#pouet: mode $chan +o $opnick | kick $chan $nick Ne déoppe pas mon ami $opnick !
La commande ne sera exécutée qu'à la condition que vous soyez op du canal concerné: cela évite de commencer
la ligne par: if ($me isop $chan) { ... } qui est plus lourd.
A noter: une commande ON 1:... a lieu pour tous les niveaux, même pour un
utilisateur de niveau supérieur à 1. Il peut être souhaitable qu'une commande générale
aie lieu pour les utilisateurs par défaut, et qu'une autre commande lui soit substituée
lorsqu'elle concerne un utilisateur spécial. Pour cela, utiliser ON +:. Exemple:
ON +1:KICK:#pouet: msg $chan Arf! $knick a été viré de $chan : bien fait!!
ON +2:KICK:#pouet: kick $chan $nick Il est interdit de kicker mon ami $knick !!
Dans ce bout de script, la première ligne réagit lorsqu'un utilisateur par défaut
se fait kicker, et la seconde ligne réagit lorsqu'un utilisateur de niveau 2 se fait
kicker. En revanche, pour l'utilisateur de niveau 2 la première ligne ne réagit pas.
Si le + n'avait pas été présent, les deux lignes auraient réagi, ce qui n'est pas
dans la logique du script (pas très sympa d'ailleurs au passage :)
A noter qu'il existe une fonction de mirc pour connaître le niveau que nous avez donné à
une personne: c'est la fonction $level(<nick>)
Précédent: Liste des actions Suivant: Les groupes
Début de page Sommaire