Eggdrop & Tcl

Base de connaissances eggdrop et tcl

Outils pour utilisateurs

Outils du site


scripts:index

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:index [2023/10/19 10:57] – [Exemple de structure] CrazyCatscripts:index [2023/10/21 13:31] (Version actuelle) – [Voir aussi] CrazyCat
Ligne 16: Ligne 16:
 Pensez toujours à mettre un commentaire expliquant l'utilité de la variable et, si besoin est, un ou plusieurs exemples. Pensez toujours à mettre un commentaire expliquant l'utilité de la variable et, si besoin est, un ou plusieurs exemples.
 ==== Les déclencheurs ==== ==== Les déclencheurs ====
-Les déclencheurs, ou Binds (contrainte) sont les éléments qui permettront à l'Eggdrop de réagir à un évènement qui peut être une action utilisateur (un message en canal par exemple), une action propre à l'eggdrop (une connexion au serveur) ou un évènement programmé (une date).+Les déclencheurs, ou [[:scripts:binds]] (contrainte) sont les éléments qui permettront à l'Eggdrop de réagir à un évènement qui peut être une action utilisateur (un message en canal par exemple), une action propre à l'eggdrop (une connexion au serveur) ou un évènement programmé (une date).
  
 Certains préfèrent mettre les binds avant les procédures qui en découlent, d'autres préfèrent lister tous les binds au début du script. En règle générale, il vaut mieux les mettre ensemble car il n'est pas rare que plusieurs binds appellent la même fonction. Certains préfèrent mettre les binds avant les procédures qui en découlent, d'autres préfèrent lister tous les binds au début du script. En règle générale, il vaut mieux les mettre ensemble car il n'est pas rare que plusieurs binds appellent la même fonction.
Ligne 30: Ligne 30:
 ==== Exemple de structure ==== ==== Exemple de structure ====
 <code tcl># <code tcl>#
-# Script example Version 1.0+# Script exemple Version 1.0
 # #
 # Auteur: CrazyCat <crazycat@mail.invalid.com> # Auteur: CrazyCat <crazycat@mail.invalid.com>
Ligne 42: Ligne 42:
 # CONFIGURATION # CONFIGURATION
 # message à afficher # message à afficher
-set ex_msg "L'exemple est réussi"+set smsg "L'exemple est réussi"
    
 # NE PAS MODIFIER CI-DESSOUS # NE PAS MODIFIER CI-DESSOUS
    
-proc exemple:repond {nick uhost handle chan args} { +proc pub.display {nick uhost handle chan args} { 
-   global ex_msg +   putserv "PRIVMSG $chan :$::smsg"
-   putserv "PRIVMSG $chan :$ex_msg"+
    return 1    return 1
 } }
  
-bind pub - "!exemple" exemple:repond+bind pub - "!exemple" pub.display
  
-putlog "example 1.0 chargé"</code>+putlog "exemple 1.0 chargé"</code>
 ===== Variables ===== ===== Variables =====
 Les variables peuvent être définies en deux groupes, les variables locales et les variables globales. Les variables peuvent être définies en deux groupes, les variables locales et les variables globales.
Ligne 60: Ligne 59:
 Elles sont habituellement définies au sein d'une procédure et sont temporaires: la variable n'existe qu'à l'intérieur de la procédure en cours. Elles sont habituellement définies au sein d'une procédure et sont temporaires: la variable n'existe qu'à l'intérieur de la procédure en cours.
 ==== Variables globales ==== ==== Variables globales ====
-Une variable globale existe non-seulement au sein de tout le script, mais elle est globale pour l'eggdrop. Elles sont définies hors des procédures, comme ex_msg dans notre exemple précédent.+Une variable globale existe non-seulement au sein de tout le script, mais elle est globale pour l'eggdrop. Elles sont définies hors des procédures, comme //ex_msg// dans notre exemple précédent.
  
-La globalité d'une variable peut être très pratique, par exemple celles qui sont propres à l'eggdrop comme $botnick (le nick actuel de l'eggdrop), mais aussi très handicapant car une variable déclarée dans un script peut être écrasée par un autre script.+La globalité d'une variable peut être très pratique, par exemple celles qui sont propres à l'eggdrop comme `$botnick(le nick actuel de l'eggdrop), mais aussi très handicapant car une variable déclarée dans un script peut être écrasée par un autre script.
  
 Pour vous éviter ce type de problème, il y a quelques astuces: Pour vous éviter ce type de problème, il y a quelques astuces:
Ligne 69: Ligne 68:
   - préférer un tableau unique contenant les diverses variables du script,   - préférer un tableau unique contenant les diverses variables du script,
   - utiliser un [[:tcl:namespace|espace de nom]]    - utiliser un [[:tcl:namespace|espace de nom]] 
 +
 +===== Voir aussi =====
 +[[faq:livre_blanc]]
 +<nspages -h1 -subns -exclude:index -pagesInNs>
scripts/index.1697713064.txt.gz · Dernière modification : 2023/10/19 10:57 de CrazyCat