Déclarer $nick dans msgcat.
#1
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 :

Citation :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 ?
Répondre Avertir
#2
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 Smile
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]"


Répondre
#3
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 ?
Répondre Avertir
#4
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
C'est en reconnaissant ses erreurs que l'on progresse Wink
Répondre Avertir
#5
ah ouais en effet !!

Merci infiniment :p
Répondre Avertir
#6
J'avais un doute sur le fait que msgcat gère déjà ça, tant mieux donc !
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté