Mise en forme de code: pensez à utiliser les balises [ tcl ] et [ /tcl ] (sans les espaces bien sûr) autour de vos codes tcl afin d'avoir un meilleur rendu et une coloration syntaxique. x


auto op
#1
bonsoir ,
je voudrais savoir comment faire pour que mon code autop puisse géré les pseudo des bots et channel dans la variable
ex:

tcl
set botsalon "#channel #chanel2 ect..." 
set botniu "niubot1 niubot2 ect..."


voici mon code :

tcl
#-//-/-//-//-//-//-#
#-Auto -Op Niubot--#
#-//-/-//-//-//-//-#
 
#Configuration de l'auto Op Salon et pass NiubOt#
set botniu "Niubot"
set botsalon "#chan"
set botpass "MON PASS"
 
#---------------------------------#
bind join - "* *" autoop
proc autoop { nick uhost hand chan } {
global botnick 
 if {$nick == "$::botnick"} {
putquick "PRIVMSG $::botniu :op $::botpass $::botsalon"
putquick "PRIVMSG $::botniu :voice $::botpass $::botsalon"
}
}


cordialement
La différence entre Linux et Windows ,c'est que Linux c'est comme une belle fille , il faut l'apprivoiser , la comprendre , la séduire tandis que Windows , c'est comme une prostitué , il faut payer et surtout bien se protéger.
#2
Tout d'abord, il vaut mieux utiliser une liste qu'une chaine:

tcl
set botsalon { "#channel" "#chanel2" "..." }
set botniu {"niubot1" "niubot2" "..."}
set botpass {"pass1" "pass2" "..."}

Ou:

tcl
set botsalon [split "#channel #chanel2 ..."]
set botniu [split "niubot1 niubot2 ..."]
set botpass [split "pass1 pass2 ..."]


Et ensuite, tu peux utiliser lsearch:

tcl
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"
   }
}

Zeolia - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#3
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
La différence entre Linux et Windows ,c'est que Linux c'est comme une belle fille , il faut l'apprivoiser , la comprendre , la séduire tandis que Windows , c'est comme une prostitué , il faut payer et surtout bien se protéger.
#4
C'est qu'il n'y a pas d'erreur structurelle.
Ajoute donc des putlog pour savoir dans quelles conditions tu passes.
Zeolia - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#5
j'ai mit des putlogs et aparament il prend pas en compte

tcl
[lindex $::botniu $idt] :op [lindex $::botpass $idt] 
[lindex $::botniu $idt] :voice [lindex $::botpass $idt]

La différence entre Linux et Windows ,c'est que Linux c'est comme une belle fille , il faut l'apprivoiser , la comprendre , la séduire tandis que Windows , c'est comme une prostitué , il faut payer et surtout bien se protéger.
#6
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
La différence entre Linux et Windows ,c'est que Linux c'est comme une belle fille , il faut l'apprivoiser , la comprendre , la séduire tandis que Windows , c'est comme une prostitué , il faut payer et surtout bien se protéger.
#7
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.
Zeolia - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#8
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é "
La différence entre Linux et Windows ,c'est que Linux c'est comme une belle fille , il faut l'apprivoiser , la comprendre , la séduire tandis que Windows , c'est comme une prostitué , il faut payer et surtout bien se protéger.
#9

tcl
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.
Zeolia - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#10
maintenant il ne prend que le premier salon de la liste mais pas les suivants
La différence entre Linux et Windows ,c'est que Linux c'est comme une belle fille , il faut l'apprivoiser , la comprendre , la séduire tandis que Windows , c'est comme une prostitué , il faut payer et surtout bien se protéger.
#11
Peut tu faire un putlog de $idt ?
Est-ce que la procédure est bien appelée à chaque join ?
Zeolia - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#12
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
La différence entre Linux et Windows ,c'est que Linux c'est comme une belle fille , il faut l'apprivoiser , la comprendre , la séduire tandis que Windows , c'est comme une prostitué , il faut payer et surtout bien se protéger.
#13
bonsoir,
apres avoir fait plusieurs test il ce auto op pas sr les salons genre : #test-1
il prend juste les salons en un seul mots.

j'trouve pas comment faire pour qu'il accepte toute sorte de salon :

#test-1 #test_1 ect ..

j'ai essayé de comprendre un peut avec ce tuto http://www.eggdrop-fr.org/initiation.php#7cond mais j'avoue étant debutant j'y arrive pas trop :/

cordialement
La différence entre Linux et Windows ,c'est que Linux c'est comme une belle fille , il faut l'apprivoiser , la comprendre , la séduire tandis que Windows , c'est comme une prostitué , il faut payer et surtout bien se protéger.
#14
merci CrazyCat tout fonctionne nikel maintenant.
j'avais totalement Zapé de mettre 5 fois le mot de pass :s

cordialement
La différence entre Linux et Windows ,c'est que Linux c'est comme une belle fille , il faut l'apprivoiser , la comprendre , la séduire tandis que Windows , c'est comme une prostitué , il faut payer et surtout bien se protéger.
#15
si ton mot de passe est unique sur tous les salons, tu peux modifier comme ça:


tcl
set botpass "pass"
...
putserv "PRIVMSG [lindex $::botniu $idt] :op $::botpass $chan"
putserv "PRIVMSG [lindex $::botniu $idt] :voice $::botpass $chan"

Zeolia - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away


Forum Jump:


Users browsing this thread: 1 Guest(s)