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