Eggdrop & Tcl

Base de connaissances eggdrop et tcl

Outils pour utilisateurs

Outils du site


scripts:binds

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
scripts:binds [2023/10/23 11:20] – [PART] CrazyCatscripts:binds [2024/01/31 17:30] (Version actuelle) – [MODE] CrazyCat
Ligne 90: Ligne 90:
 S'il n'y a pas de message de `/part`, //msg// est une chaîne vide. S'il n'y a pas de message de `/part`, //msg// est une chaîne vide.
 ==== SIGN ==== ==== SIGN ====
-**Empilable** +{{:scripts:layer.png?nolink |}}<code tcl>bind sign <flags> <mask> <proc>
-<code tcl>bind sign <flags> <mask> <proc>+
 procname <nick> <user@host> <handle> <channel> <reason></code> procname <nick> <user@host> <handle> <channel> <reason></code>
 Déclenché lorsque quelqu'un se déconnecte, ou potentiellement lorsqu'un utilisateur est pris dans un netsplit et ne revient pas. Le message de déconnexion est le dernier argument de la procédure (//reason//). Le //mask// est de la forme `#channel nick!user@host` et peut contenir des wildcards.  Déclenché lorsque quelqu'un se déconnecte, ou potentiellement lorsqu'un utilisateur est pris dans un netsplit et ne revient pas. Le message de déconnexion est le dernier argument de la procédure (//reason//). Le //mask// est de la forme `#channel nick!user@host` et peut contenir des wildcards. 
Ligne 97: Ligne 96:
 Si <key>*</key> est utilisé pour le canal dans le //mask//, la procédure se déclenchera pour chaque canal que l'eggdrop et l'utilisateur avaient en commun. Pour ne déclencher qu'une seule fois indépendamment du nombre de canaux en commun, il faut utiliser le bind [[#RAWT]] avec le mot-clé //SIGN// Si <key>*</key> est utilisé pour le canal dans le //mask//, la procédure se déclenchera pour chaque canal que l'eggdrop et l'utilisateur avaient en commun. Pour ne déclencher qu'une seule fois indépendamment du nombre de canaux en commun, il faut utiliser le bind [[#RAWT]] avec le mot-clé //SIGN//
 ==== TOPC ==== ==== TOPC ====
-**Empilable** +{{:scripts:layer.png?nolink |}}<code tcl>bind topc <flags> <mask> <proc>
-<code tcl>bind topc <flags> <mask> <proc>+
 procname <nick> <user@host> <handle> <channel> <topic></code> procname <nick> <user@host> <handle> <channel> <topic></code>
 Déclenché lors d'un changement de topic. Le //mask// peut contenir des wildcards et est comparé à `#channel topic`, //topic// étant le nouveau topic. Déclenché lors d'un changement de topic. Le //mask// peut contenir des wildcards et est comparé à `#channel topic`, //topic// étant le nouveau topic.
Ligne 105: Ligne 103:
 </WRAP> </WRAP>
 ==== KICK ==== ==== KICK ====
-**Empilable** +{{:scripts:layer.png?nolink |}}<code tcl>bind kick <flags> <mask> <proc>
-<code tcl>bind kick <flags> <mask> <proc>+
 procname <nick> <user@host> <handle> <channel> <target> <reason></code> procname <nick> <user@host> <handle> <channel> <target> <reason></code>
 Déclenché lorsque quelqu'un est kické du canal. Le masque peut contenir des wildcards et est de la forme `#channel target reason` où //target// est l'utilisateur kické. Déclenché lorsque quelqu'un est kické du canal. Le masque peut contenir des wildcards et est de la forme `#channel target reason` où //target// est l'utilisateur kické.
Ligne 112: Ligne 109:
 L'utilisateur qui déclenche la procédure est le kickeur. L'utilisateur qui déclenche la procédure est le kickeur.
 ==== NICK ==== ==== NICK ====
-**Empilable** +{{:scripts:layer.png?nolink |}}<code tcl>bind nick <flags> <mask> <proc>
-<code tcl>bind nick <flags> <mask> <proc>+
 procname <nick> <user@host> <handle> <channel> <newnick></code> procname <nick> <user@host> <handle> <channel> <newnick></code>
 Déclenché lorsqu'un utilisateur change de pseudonyme. Le masque est de la forme `#channel newnick` et peut contenir des wildcards. Déclenché lorsqu'un utilisateur change de pseudonyme. Le masque est de la forme `#channel newnick` et peut contenir des wildcards.
Ligne 119: Ligne 115:
 Si <key>*</key> est utilisé pour le canal dans le //mask//, la procédure se déclenchera pour chaque canal que l'eggdrop et l'utilisateur avaient en commun. Pour ne déclencher qu'une seule fois indépendamment du nombre de canaux en commun, il faut utiliser le bind [[#RAWT]] avec le mot-clé //NICK// Si <key>*</key> est utilisé pour le canal dans le //mask//, la procédure se déclenchera pour chaque canal que l'eggdrop et l'utilisateur avaient en commun. Pour ne déclencher qu'une seule fois indépendamment du nombre de canaux en commun, il faut utiliser le bind [[#RAWT]] avec le mot-clé //NICK//
 ==== MODE ==== ==== MODE ====
-**Empilable** +{{:scripts:layer.png?nolink |}}<code tcl>bind mode <flags> <mask> <proc>
-<code tcl>bind mode <flags> <mask> <proc>+
 procname <nick> <user@host> <handle> <channel> <mode-change> <target></code> procname <nick> <user@host> <handle> <channel> <mode-change> <target></code>
 Les changements de mode sont découpés en chaque mode unique avant de déclencher le bind, donc //mode-change// sera toujours un seul mode comme `+m` ou `-o`. //target// contiendra l'argument du mode (pour o/v/b/e/l/k/I) ou "" si le mode ne prends pas d'argument. La réponse de l'eggdrop n'arrive qu'**APRÈS** que toutes les procédures liées aient été appelées. Le //mask// est de la forme `#channel +/-mode` et peut contenir des wildcards. Les changements de mode sont découpés en chaque mode unique avant de déclencher le bind, donc //mode-change// sera toujours un seul mode comme `+m` ou `-o`. //target// contiendra l'argument du mode (pour o/v/b/e/l/k/I) ou "" si le mode ne prends pas d'argument. La réponse de l'eggdrop n'arrive qu'**APRÈS** que toutes les procédures liées aient été appelées. Le //mask// est de la forme `#channel +/-mode` et peut contenir des wildcards.
  
 Si le mode est placé par le serveur, //nick// sera une chaîne vide, //user@host// sera le nom du serveur et //handle// sera <key>*</key>. Si le mode est placé par le serveur, //nick// sera une chaîne vide, //user@host// sera le nom du serveur et //handle// sera <key>*</key>.
 +<WRAP center round important 80%>
 +Le `bind mode` ne réagit qu'aux modes qu'eggdrop connaît nativement. Par exemple, un bind sur le mode `+H` ne se déclenchera pas.
 +</WRAP>
 +
 ==== CTCP ==== ==== CTCP ====
-**Empilable**+{{:scripts:layer.png?nolink |}}<code tcl>bind ctcp <flags> <keyword> <proc> 
 +procname <nick> <user@host> <handle> <dest> <keyword> <text></code> 
 +  //dest// est un pseudonyme (celui de l'eggdrop) ou un canal, 
 +  //keyword// est la commande **ctcp** qui peut contenir des wildcards, 
 +  * //text// peut être vide. 
 + 
 +Si la procédure retourne 0, Eggdrop tentera de traiter la demande CTCP. 
 +==== CTCR ==== 
 +{{:scripts:layer.png?nolink |}}<code tcl>bind ctcr <flags> <keyword> <proc> 
 +procname <nick> <user@host> <handle> <dest> <keyword> <text></code> 
 +Exactement comme [[#CTCP]] mais en réaction à une réponse de ctcp (ctcp dans une notice plutôt qu'un message privé) 
 +==== RAW ==== 
 +{{:scripts:layer.png?nolink |}}<code tcl>bind raw <flags> <mask> <proc> 
 +procname <from> <keyword> <text></code> 
 +<WRAP center round important 80%> 
 +Bien qu'il ne soit pas nécessairement déprécié, ce bind a été supplanté par le bind [[#RAWT]], qui prend en charge les balises de message IRCv3, à partir de la version 1.9.0. 
 +</WRAP> 
 +  * Le //mask// peut contenir des wildcards et est comparé au mot-clé, qui est soit un chiffre, comme "368", soit un mot-clé, comme "PRIVMSG"
 +  * //from// sera le nom du serveur ou le pseudo source!ident@host (en fonction du mot-clé); 
 +  * les //flags// sont ignorés. 
 +Si //proc// renvoie 1, Eggdrop ne traitera plus la ligne (ce qui peut provoquer un comportement inattendu dans certains cas), bien que les bind [[#RAWT]] soient traités avant les bind RAW (et donc, un bind RAW ne peut pas bloquer un bind RAWT). 
 +==== BOT ==== 
 +<code tcl>bind bot <flags> <command> <proc> 
 +procname <from-bot> <command> <text></code> 
 +Réagit à un message en provenance d'un autre robot dans le [[:eggdrop:botnet]]. Le premier mot est la //command// et le reste devient l'argument //text//. Les //flags// sont ignorés. 
 +==== CHON ==== 
 +{{:scripts:layer.png?nolink |}}<code tcl>bind chon <flags> <mask> <proc> 
 +procname <handle> <idx></code> 
 +Réagit lorsque quelqu'un entre **pour la première fois** dans la party-line du bot via dcc chat ou telnet, ceci est déclenché avant qu'il ne soit connecté à un canal de chat (donc, oui, vous pouvez changer de canal dans un processus 'chon'). le //mask// est comparé à l'//handle// et supporte les wildcards.
  
 +Ceci n'est PAS déclenché lorsque quelqu'un revient de la zone de fichiers, etc.
 +==== CHOF ====
 +{{:scripts:layer.png?nolink |}}<code tcl>bind chof <flags> <mask> <proc>
 +procname <handle> <idx></code>
scripts/binds.1698060054.txt.gz · Dernière modification : 2023/10/23 11:20 de CrazyCat