Communauté Eggdrop
erreur tcl eggdrop - Version imprimable

+- Communauté Eggdrop (https://forum.eggdrop.fr)
+-- Forum : Eggdrop et TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=8)
+--- Forum : Scripts TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=4)
+--- Sujet : erreur tcl eggdrop (/showthread.php?tid=865)



erreur tcl eggdrop - snip74 - 23/01/2011

Bonjour,
depuis quelque jour j'ai une erreur sur un tcl que je n'arrive pas a résoudre.

J'ai se message en ctcp bot chat :

Citation :[Debug] Snip74 PRIVMSG #accueil :!badn serge <--(pseudo de teste)

Erreur:
Tcl error [pub:badn]: invalid channel: {#salon-staff}

cette commande a pour but de changer le pseudo en badnick.
que veut dire cette erreur et comment la réglé car je comprend pas trot en tcl ?

Cordialement Stéphane


RE: erreur tcl eggdrop - CrazyCat - 23/01/2011

Ca vient de ton tcl (je ne sais pas lequel) et tu essayes d'effectuer une commande sur un canal qui n'est plus dans la liste des canaux de ton eggdrop.

Sans avoir ton tcl, on ne peut pas t'en dire plus.


RE: erreur tcl eggdrop - snip74 - 23/01/2011

Bonsoir CrazyCat,
peut importe ou je tape la commande !badn pseudo en party line sa me donne l'erreur.
Citation :Tcl error [pub:badn]: invalid channel: {#salon-staff}

pourtant l'eggdrop et bien sur tout les salon officiel et le salon staff
puis le code je pense que sa devrait être sa mais je connais que dalle en tcl :p

Code :
proc pub:badn { nick uhost handle chan arg } {
set host(axx_nick) [lindex [split [getchanhost $nick $chan] "@"] 1]
if {[lsearch $::host(axx_level) "($host(axx_nick))"] > -1 || [isop $nick $chan] || [ishalfop $nick $chan]} {    
    set control_presence ""
    foreach verif_chan [split [channels]] {
    set verif(nick,liste) [chanlist $verif_chan]
    if {[lsearch $verif(nick,liste) "[lindex [split $arg] 0]"] > -1} {
        set control_presence ok
        break
        }
    }
    if {$control_presence eq "ok"} {
        set num_babnick [rand "100000"]
        set BadPseudo "BadPseudo$num_babnick"
        putquick "PRIVMSG operserv : set superadmin on"
        putserv "PRIVMSG operserv : svsnick $arg $BadPseudo"
        puthelp "PRIVMSG $::salon_op : $nick a badnick $arg sur $chan"
        }
    }
}

et il possible que sa viens du changement de anope car j'ai fait la mise a jour de anope ?

Cordialement Stéphane


CrazyCat a écrit :Ca vient de ton tcl (je ne sais pas lequel) et tu essayes d'effectuer une commande sur un canal qui n'est plus dans la liste des canaux de ton eggdrop.

Sans avoir ton tcl, on ne peut pas t'en dire plus.



RE: erreur tcl eggdrop - CrazyCat - 23/01/2011

Tu n'as pas une erreur sur $::salon_op ? Ou plutot sur ton set salon_op "salon-staff"
Ton eggdrop n'est peut-être pas dessus.


RE: erreur tcl eggdrop - snip74 - 23/01/2011

Re CrazyCat
L'eggdrop et biens sur le salon-staff

et mes excuse mais tu veut dire quoi par :

Citation :Tu n'as pas une erreur sur $::salon_op ? Ou plutot sur ton set salon_op "salon-staff"


car je viens de matter sur les salons service, salon-staff et salon du eggdrop aucune erreur apparait sur le ou les salons Smile

Cordialement Stphane

CrazyCat a écrit :Tu n'as pas une erreur sur $::salon_op ? Ou plutot sur ton set salon_op "salon-staff"
Ton eggdrop n'est peut-être pas dessus.



RE: erreur tcl eggdrop - djkenny - 23/01/2011

salut,

en party line de l egg tape
Code :
.tcl set ::errorInfo
ca te donneras plus d information sur l erreur et copi le resultat ici


RE: erreur tcl eggdrop - snip74 - 23/01/2011

Bonsoir djkenny,
merci aussi de ton aide et merci pour cette commande que je ne connais pas Smile

Voila se que tu ma demandé.

Code :
.tcl set ::errorInfo
Tcl: invalid channel: {#salon-staff}
Tcl:     while executing
Tcl: "chanlist $verif_chan"
Tcl:     (procedure "pub:badn" line 6)
Tcl:     invoked from within
Tcl: "pub:badn $_pub1 $_pub2 $_pub3 $_pub4 $_pub5"

Cordialement Stephane

djkenny a écrit :salut,

en party line de l egg tape
Code :
.tcl set ::errorInfo
ca te donneras plus d information sur l erreur et copi le resultat ici



RE: erreur tcl eggdrop - djkenny - 23/01/2011

le probleme vien du fait que tu split la liste des salons au foreach, ce qui a pour effet d entourer les nom de salon par des { }
donc il faut remplacer ca
tcl
foreach verif_chan [split [channels]] {


par
tcl
foreach verif_chan [channels] {





RE: erreur tcl eggdrop - snip74 - 23/01/2011

Re djkenny

Merci infiniment je lutté depuis 3 jours dessus avec ta méthode ça marche mais sa ne marche plus pour les anim en halflop :/ pis sa me donne d'autre erreur dans d'autre tcl

Cordialement Stéphane


RE: erreur tcl eggdrop - snip74 - 24/01/2011

AFff encore moi lol

Bon bah en faite sa marche mais un animateur (en halflop) sa marche plus et en prime avec la commande que tu ma donner djkenny j'ai refait un teste et sa me donne des erreurs supplémentaire

Code :
.tcl set ::errorInfo
Tcl: can't read "flood(taillemot)": no such element in array
Tcl:     while executing
Tcl: "if {[lsearch $::chan_game "($verif_flood(chan))"] eq -1 && [info exists verif_flood(nick)] && $flood(taillemot) > $::longmot_notice} {
Tcl: putserv "NOTI..."
Tcl:     (procedure "verification_flood" line 83)
Tcl:     invoked from within
Tcl: "verification_flood"
Tcl:     (procedure "flood_msg" line 7)
Tcl:     invoked from within
Tcl: "flood_msg $_pubm1 $_pubm2 $_pubm3 $_pubm4 $_pubm5"

et si je re mais comme c'était y a l'erreur
Code :
.tcl set ::errorInfo
Tcl: invalid channel: {#salon-staff}
Tcl:     while executing
Tcl: "chanlist $verif_chan"
Tcl:     (procedure "pub:badn" line 6)
Tcl:     invoked from within
Tcl: "pub:badn $_pub1 $_pub2 $_pub3 $_pub4 $_pub5"

et du coup sa marche plus lol

tiens je viens de remarquer dans les commandes anim on a le choix entre deux commandes:
Badn - PSEUDO-- [!badn] [/badn]

Citation :avec !badn pseudo bon y a l'erreur mais avec la commande /badn pseudo cela fonctionne
Par contre quand j'ai consulté la liste des commande j'ai bien évidament un autre erreur :/ décidément c'est vraiment pas mon jour de chance.

Code :
[23:23] Tcl error [pub:commandelist]: can't read "cmd(flag)": no such element in array


Cordialement Stéphane


RE: erreur tcl eggdrop - djkenny - 24/01/2011

t es sur qu il a marché un jour le tcl la? parce que la tu me fait voir 3 erreurs totalement différentes qui se produisent dans 3 procedures différentes.

pour le
Code :
can't read "flood(taillemot)": no such element in array
ca veut dir que la var n'éxiste pas, regarde du coté de la configuration du tcl si t as pas supprimé une var .
pour le
Code :
invalid channel: {#salon-staff}
j t ai déjà donné la solution.
pour le
Code :
[23:23] Tcl error [pub:commandelist]: can't read "cmd(flag)": no such element in array
c est comme la 1ere regarde du coté de la configuration du tcl


RE: erreur tcl eggdrop - snip74 - 24/01/2011

Bonjour,
Oui les tcl fonctionné et fonctionne encore lol même avec les erreurs y a juste !badn pseudo qui lui ne fonctionné pas mais avec ton aide il fonctionne sauf avec un seule anim se qui et bizar car avec les autre et moi même tout et ok.
djkenny a écrit :t es sur qu il a marché un jour le tcl la? parce que la tu me fait voir 3 erreurs totalement différentes qui se produisent dans 3 procedures différentes.

Par contre je teste de réparer les erreurs du (pub:commandelist) sa ne veut pas, et encore plus bizarre j'ai supprimer commande-list.tcl quand je tape !list y a l'erreur + la list d'aide qui diffuse alors que les supprimer du eggdrop :
Code :
Tcl error [pub:commandelist]: can't read "cmd(flag)": no such element in array

Je me suis dit qu'il y avais 2 fois le même Tcl donc pour vérifier j'ai supprimer tout les tcl mais la commande !list envoie toujours les notices d'aide

Code :
#source scripts/alltools.tcl
#source scripts/action.fix.tcl
#source scripts/BanLog.tcl
#source scripts/identify.tcl
#source scripts/sendftp.tcl
#source scripts/sendftpwin.tcl
#source scripts/listnews.tcl
#source scripts/commande-access.tcl
#source scripts/essai.tcl
#source scripts/flood.tcl
#source scripts/commande-list.tcl
#source scripts/plainte.tcl


Cordialement Stéphane


RE: erreur tcl eggdrop - djkenny - 24/01/2011

re,

essai de mettre
tcl
set cmd(flag) "o|o"


au début de la proc "pub:commandelist", biensur la je met o|o mais c est a toi de voir le flag que tu veux mettre


RE: erreur tcl eggdrop - djkenny - 24/01/2011

snip74 a écrit :Je me suis dit qu'il y avais 2 fois le même Tcl donc pour vérifier j'ai supprimer tout les tcl mais la commande !list envoie toujours les notices d'aide
par contre ca c est normale si tu n'as pas restart le bot