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:21] – [KICK] CrazyCatscripts:binds [2024/01/31 17:30] (Version actuelle) – [MODE] CrazyCat
Ligne 109: 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 116: 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.1698060087.txt.gz · Dernière modification : 2023/10/23 11:21 de CrazyCat