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


lrange
#1
Bonjour,

Je rencontre un petit soucis que j'avais jamais avant !

Lorsque je tappe la commande
Code :
.v nick1 nick2 nick3


Normalement le robot doit dire :
[04:29:11] <nickdubot> Bravo nick1 nick2 nick3, tu anime beaucoup la salle, tu es donc maintenant V.I.P ! Smile

et il doit normalement voice les 3 nicks...

MAIS il ne le fais pas et dit ceci :
[04:28:59] <nickdubot> Bravo {nick1 nick2 nick3}, tu anime beaucoup la salle, tu es donc maintenant V.I.P ! Smile

Je cherche à retiré le { & } qui empeche le bot de voicer !

Voici le tcl :

tcl
bind pub - .v pub:v
proc pub:v {nick uhost handle chan args} {
set modos "#modos"
set arg [lrange $args 0 end]
if {[onchan $nick $modos]} {
putquick "PRIVMSG $chan :Bravo $arg, tu anime beaucoup la salle, tu es donc maintenant V.I.P ! :-)"
putquick "reza voice $chan $arg"
}
}

#2
Je ne sais pas "qui" est reza, ni donc sa syntaxe, mais une chose est sure:

tcl
set arg [lrange $args 0  end]

Donc tu pars du principe que $args est une liste, et tu en sort une sous-liste (identique d'ailleurs). Donc quand tu l'utilises en tant que chaine, elle est forcément protégée.
Essayes plutôt:

tcl
set arg [join [lrange $args 0  end]]

irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#3
ARGL
C'est TOUJOURS le problème de ARGS !

... et tant que j'y suis, je dirais que faire un lrange 0 => end ne sert à rien, ca retourne la même chose.

En définitive :

tcl
bind pub - .v pub:v
proc pub:v {nick uhost handle chan text} {
set modos "#modos"
if {[onchan $nick $modos]} {
putquick "PRIVMSG $chan :Bravo $text, tu anime beaucoup la salle, tu es donc maintenant V.I.P ! :-)"
putquick "reza voice $chan $text"
}
}



Forum Jump:


Users browsing this thread: 1 Guest(s)