Messages : 2,338
Sujets : 191
Inscription : Apr 2004
30/01/2009, 10:23
(Modification du message : 30/01/2009, 10:23 par CrazyCat .)
Tout d'abord, il vaut mieux utiliser une liste qu'une chaine:
tclcopier
set botsalon { "#channel" "#chanel2" "..." }
set botniu { "niubot1" "niubot2" "..." }
set botpass { "pass1" "pass2" "..." }
Ou:
tclcopier
set botsalon [ split "#channel #chanel2 ..." ]
set botniu [ split "niubot1 niubot2 ..." ]
set botpass [ split "pass1 pass2 ..." ]
Et ensuite, tu peux utiliser
lsearch :
tclcopier
bind join - "* *" autoop
proc autoop { nick uhost hand chan } {
if { $nick ! = $ ::botnick } {
return 0
}
set idt [ lsearch $ ::botsalon [ string tolower $chan ] ]
if { $idt eq -1 } {
# ce canal n'est pas géré
return 0
} else {
putserv "PRIVMSG [lindex $::botniu $idt] :op [lindex $::botpass $idt] $chan"
putserv "PRIVMSG [lindex $::botniu $idt] :voice [lindex $::botpass $idt] $chan"
}
}
Messages : 438
Sujets : 17
Inscription : Sep 2008
Niveau d’avertissement :
0%
merci CraZyCat
aprés avoir testé ta modification le bot n'envoi pas le putserv pour ce opé je n'est pas de message d'erreur en pl
Messages : 2,338
Sujets : 191
Inscription : Apr 2004
C'est qu'il n'y a pas d'erreur structurelle.
Ajoute donc des putlog pour savoir dans quelles conditions tu passes.
Messages : 438
Sujets : 17
Inscription : Sep 2008
Niveau d’avertissement :
0%
j'ai mit un putlog sur "ce canal n'est pas géré"
et à chaque joins de salon il m'indique cela en party line
Messages : 2,338
Sujets : 191
Inscription : Apr 2004
Conclusion: est-ce que l'eggdrop rejoint un canal qui est dans la liste? le nom du canal (dans la liste) doit être en minuscules.
Tu peux essayer aussi un putlog de $chan pour voir ce que l'eggdrop voit.
Messages : 438
Sujets : 17
Inscription : Sep 2008
Niveau d’avertissement :
0%
il rejoin bien les chans ds la liste qui sont en majuscule et m'indique seulment en pl " ce canal n'est pas géré "
Messages : 2,338
Sujets : 191
Inscription : Apr 2004
tclcopier
set idt [ lsearch $ ::botsalon [ string tolower $chan ] ]
tolower signifie que les noms sont passés en minuscule.
Pour l'anecdote, que le nom du canal soit en majuscules ou en minuscules, c'est pareil pour le serveur IRC, mais pas pour le tcl. Donc, ta liste de canaux doit être tout en minuscule.
Messages : 438
Sujets : 17
Inscription : Sep 2008
Niveau d’avertissement :
0%
maintenant il ne prend que le premier salon de la liste mais pas les suivants
Messages : 2,338
Sujets : 191
Inscription : Apr 2004
Peut tu faire un putlog de $idt ?
Est-ce que la procédure est bien appelée à chaque join ?
Messages : 438
Sujets : 17
Inscription : Sep 2008
Niveau d’avertissement :
0%
uand il joint un salon qu'il y a pas dans la liste il me met en pl "-1"
et pour ceux qui y sont 0 1 2 et s'identifi tjr au premier de la liste
Messages : 438
Sujets : 17
Inscription : Sep 2008
Niveau d’avertissement :
0%
merci CrazyCat tout fonctionne nikel maintenant.
j'avais totalement Zapé de mettre 5 fois le mot de pass :s
cordialement
Messages : 2,338
Sujets : 191
Inscription : Apr 2004
si ton mot de passe est unique sur tous les salons, tu peux modifier comme ça:
tclcopier
set botpass "pass"
...
putserv "PRIVMSG [lindex $::botniu $idt] :op $::botpass $chan"
putserv "PRIVMSG [lindex $::botniu $idt] :voice $::botpass $chan"