Equivalent $2 en tcl [Résolu]

Signaler
Messages postés
57
Date d'inscription
samedi 13 septembre 2008
Statut
Membre
Dernière intervention
2 juin 2010
-
Messages postés
1052
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
30 novembre 2009
-
Bonjour,
Je suis une développeur et je n'arrive à trouver sur aucun site, l'équivalent de $1, $2, $3,etc.. (deuxième,trois[...] mot ou caractère d'une phrase) en TCL.

Si quelqu'un pourrait m'aider se serait super, merci d'avance.


~ScriptinG_Ben~ Bonne continuation à tous ;)

16 réponses

Messages postés
1052
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
30 novembre 2009
2
Hello,

Admettons que tu ais une phrase "bonjour je suis ScriptingBen".
Tu cherches le $1, $2, $3 et $4.
Il faut considérer la phrase comme une liste (en tcl) et lire (grâce à lindex) le nème élément.

Si tu veux avoir le $1, tu utilises donc :
[lindex "bonjour je suis ScriptingBen" 0]
Ça va te retourner bonjour
Pour le $2,
[lindex "bonjour je suis ScriptingBen" 1]
Ça va te retourner je

Etc...

Tu as pu voir que la liste commence à 0, contrairement au mIRC qui comment à $1.


J'espère avoir été clair
Messages postés
1052
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
30 novembre 2009
2
Si c'est déclenché par l'évènement "pub" (donc sur un salon), il faut récupérer la variable text ou arg.

Par exemple, si tu veux que ton bot réagisse à la commande !pouet, il te faudra ce code :
bind pub - !pouet procdetacommande
proc procdetacommande { nick hand host channel arg } {
putspeed "PRIVMSG $channel :$arg"
}

Donc ici, $arg retourne tout ce qu'il y a après !pouet
Messages postés
57
Date d'inscription
samedi 13 septembre 2008
Statut
Membre
Dernière intervention
2 juin 2010

*Faute de phrase "un développeur et non pas une développeur" :)


~ScriptinG_Ben~ Bonne continuation à tous ;)
Messages postés
57
Date d'inscription
samedi 13 septembre 2008
Statut
Membre
Dernière intervention
2 juin 2010

Pour ceux qu'il n'auraient pas trouvé ma question claire je la reformule:

Je cherche l'équivalent de $1, $2, $3, etc.. (mIRC) en TCL.

Merci pour vos réponses.


~ScriptinG_Ben~ Bonne continuation à tous ;)
Messages postés
57
Date d'inscription
samedi 13 septembre 2008
Statut
Membre
Dernière intervention
2 juin 2010

Et par la même occasion de: $1-, $2-, $3-, etc... (qui reprend tout le text après le Nème mot)


~ScriptinG_Ben~ Bonne continuation à tous ;)
Messages postés
1804
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
22 septembre 2009
4
Les fonctions tcl ne marchent pas de la même façon qu'en scripting mirc (à ma connaissance). Tu n'as qu'à regarder les exemples ici : http://www.csadmin.net/aidetcl.php

Messages postés
57
Date d'inscription
samedi 13 septembre 2008
Statut
Membre
Dernière intervention
2 juin 2010

Oui j'ai déjà vu ce site mais ça ne m'a pas aidé :/


~ScriptinG_Ben~ Bonne continuation à tous ;)
Messages postés
57
Date d'inscription
samedi 13 septembre 2008
Statut
Membre
Dernière intervention
2 juin 2010

Bonjour KiNdErMaXi,

Ton aide m'a été précieuse, encore un grand merci et bonne continuation


~ScriptinG_Ben~ Bonne continuation à tous ;)
Messages postés
57
Date d'inscription
samedi 13 septembre 2008
Statut
Membre
Dernière intervention
2 juin 2010

J'ai encore une question, donc le problème de rechercher un mot j'ai comprit mais maintenant ce que j'aimerais c'est qu'il prenne par exemple le deuxième mot, c'est à dire, le mot juste après la !commande qui serait un pseudo donc il me manque une variable pour définir le texte entré par la personne qui fait la commande.

Merci d'avance.


~ScriptinG_Ben~ Bonne continuation à tous ;)
Messages postés
1804
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
22 septembre 2009
4
@Kindermaxi: donc en fait, je me plantais dans ce que j'ai dit, tu peux confirmer ? La partie "données" du message est toujours gérée par une seule variable (nommée arg dans nos exemples), c'est ça ?
Messages postés
1052
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
30 novembre 2009
2
Oui
Messages postés
57
Date d'inscription
samedi 13 septembre 2008
Statut
Membre
Dernière intervention
2 juin 2010

Merci beaucoup pour vos réponses


~ScriptinG_Ben~ Bonne continuation à tous
Messages postés
57
Date d'inscription
samedi 13 septembre 2008
Statut
Membre
Dernière intervention
2 juin 2010

Merci pour vos réponses vous m'avez beaucoup aidé


~ScriptinG_Ben~ Bonne continuation à tous
Messages postés
57
Date d'inscription
samedi 13 septembre 2008
Statut
Membre
Dernière intervention
2 juin 2010

Oups bug dsl pour le double message


~ScriptinG_Ben~ Bonne continuation à tous
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011

Salut,
Pour ta deuxième question (du style $2-) c'est [lrange $var 1 end] , tu peux donc récupérer des groupes de tokens (ex: [lrange $var 3 7]).

Ca fait un bon moment que je ne touche plus au TCL, mais d'après mes souvenirs, j'aurais tendance à dire que la méthode de kindermaxi n'est pas bonne.
Binder plusieurs commandes une par une, c'est peut-être plus simple, mais pas top niveau optimisation. Pour ma part, je bindais le '!' et je switchais pour récupérer les commandes dans la proc associée.

putspeed existe depuis lontemps ? Je connaissais uniquement putquick, putserv et puthelp.


Cordialement, uaip.
Messages postés
1052
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
30 novembre 2009
2
Je pense pas que cela existe, c'est juste que j'ai confondu quick & speed quand j'ai copié ça