Communauté Eggdrop

Version complète : utiliser une procédure d'un script A dans un script B
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
bonjour,

tout ou presque est dans le titre.

j'ai un script A.tcl avec une procédure de scan qui se lance sur les utilisateurs qui entrent sur le chan, et que je peux lancer manuellement en party line

je veux éviter de modifier le script A.tcl

je veux créer dans un script B.tcl une procédure qui lance toutes les heures la procédure de scan. pour l'instant j'ai le timer, mais je ne sais pas comment appeler la procédure dans l'autre script?

j'imagine avec "global", mais comme j'ai jamais utilisé...

merci d'avance.
Il y a deux possibilités:
- soit le script A est "simple" et du moment qu'il est chargé avant B (par sécurité), tu peux appeler la procédure depuis B,
- soit le script A possède un namespace, il te faut donc appeler la procédure en la "nommant" complètement.

Exemple 1:
tcl
# script A
bind - join "#toto *" scan
proc scan {nick uhost handle chan} {
   ...
}

#script B
proc timed {
   scan
   timer 60 timed
}



Exemple 2:
tcl
# script A
namespace eval Scan {
   bind - join "#toto *" Scan::scan
   proc scan {nick uhost handle chan} {
      ...
   }

#script B
proc timed {
   Scan::scan 
   timer 60 timed
}



Bien entendu, je n'ai pas mis dans l'exemple la boucle qui va faire scanner chaque utilisateur du canal
Merci de la rapidité de la réponse,
et désolé pour mon silence.

J'ai testé mais sans succès

J'essaye autre chose,
encore merci