Communauté sur les Eggdrops - Community about Eggdrops
Déclarer $nick dans msgcat. - Printable Version

+- Communauté sur les Eggdrops - Community about Eggdrops (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)
+--- Thread: Déclarer $nick dans msgcat. (/showthread.php?tid=1232)



Déclarer $nick dans msgcat. - aliasangelius - 03/09/2012

Bonjour,

Voilà j'aimerais savoir comment faire pour déclarer $nick dans msgcat.
Et aussi $::botnick
Exemple :


tcl
::msgcat::mcset fr ErrorPseudo "\0034Erreur ! \037\0031Le pseudo $nick et déjà Réserver.\037\0031"
::msgcat::mcset fr CoOper "\037\0031Service $::botnick Connecté.\037\0031"


Si je fais comme ceci lorsque je vais faire les appels qui seront :


tcl
putdcc $OperServ(idx) ":$OperServ(nickp) NOTICE $pseudo :[::msgcat::mc ErrorPseudo]"


Là je vais me retrouver avec comme message d'erreur transmis sur irc :

Quote:Erreur ! Le pseudo $nick et déjà Réserver.

Donc il ne traite pas ma demande de $nick dans les messages de msgcat.
Je ne vois pas trop comment résoudre ça.

Pourtant me semble qu'il existe un moyen quelqu'un à une idée ?


RE: Déclarer $nick dans msgcat. - CrazyCat - 03/09/2012

Le mieux est de passer par un format.
msgcat retourne une chaîne, donc rien n'est interprété dedans. Si tu mets des %s à la place de tes variables, format en fera ce qu'il faut :)

tcl
::msgcat::mcset fr ErrorPseudo "\0034Erreur ! \037\0031Le pseudo %s est déjà réservé.\037\0031"
...
putdcc $OperServ(idx) ":$OperServ(nickp) NOTICE $pseudo :[format [::msgcat::mc ErrorPseudo] $nick]"




RE: Déclarer $nick dans msgcat. - aliasangelius - 04/09/2012

Ah oui niquel comme sa.
Du coup je peut utilisé %s selon ma guise..

Donc si je veut faire par exemple :


tcl
::msgcat::mcset fr ErrorPseudo "\0034Erreur ! \037\0031Le pseudo %s est déjà réservé.\037\0031Dans le robot %d"


Donc je doit faire :


tcl
putdcc $OperServ(idx) ":$OperServ(nickp) NOTICE $pseudo :[format [::msgcat::mc ErrorPseudo] $nick $::botnick]"


Un truc du genre non ?


RE: Déclarer $nick dans msgcat. - djkenny - 04/09/2012

salut,

en fait msgcat gére déjà le format

tcl
::msgcat::mcset fr ErrorPseudo "\0034Erreur ! \037\0031Le pseudo %s est déjà réservé.\037\0031Dans le robot %s"
 
putdcc $OperServ(idx) ":$OperServ(nickp) NOTICE $pseudo :[::msgcat::mc ErrorPseudo $nick $::botnick]"


et même la position:

tcl
::msgcat::mcset fr ErrorPseudo "\0034Erreur ! \037\0031Le pseudo %2\$s est déjà réservé.\037\0031Dans le robot %1\$s"
 
putdcc $OperServ(idx) ":$OperServ(nickp) NOTICE $pseudo :[::msgcat::mc ErrorPseudo $::botnick $nick]"

le %2\$s sera remplacé par la 2eme variable et le %1\$s par la 1ere


RE: Déclarer $nick dans msgcat. - aliasangelius - 04/09/2012

ah ouais en effet !!

Merci infiniment :p


Re: Déclarer $nick dans msgcat. - CrazyCat - 04/09/2012

J'avais un doute sur le fait que msgcat gère déjà ça, tant mieux donc !