06/06/2011, 16:31
Salut,
Donc j'ai testé ton code et oui en effet il ne fonctionne pas.
Alors par curiosité j'ai cherché sur le forum et le code que tu à mis dans le post et sur un autre post et un membre du forum "djkenny" avait donné un exemple de code tcl sous forme de namespace donc autant utilise ceci car il et expliquer et tout.
Donc je vais te c/c le code que djkenny avait fait :
Donc j'ai testé ton code et oui en effet il ne fonctionne pas.
Alors par curiosité j'ai cherché sur le forum et le code que tu à mis dans le post et sur un autre post et un membre du forum "djkenny" avait donné un exemple de code tcl sous forme de namespace donc autant utilise ceci car il et expliquer et tout.
Donc je vais te c/c le code que djkenny avait fait :
tcl
namespace eval speak {
# variable contenant les mots à reconnaitre
# on pourras utiliser des wildchar * ?
variable bonjour {salut bonjour slt coucou hello s*l*t}
# variable contenant les réponses
# on utilise %n pour pouvoir réécrire le pseudo plus tard
variable reponse {"coucou %n comment ca va?" "bonjour %n" "salut %n" "wesh gros" "bienvenue %n"}
}
bind pubm - * speak::bonjour
proc speak::bonjour {nick host hand chan text} {
# on déclare les variable bonjour et réponse
variable bonjour
variable reponse
# on debug le texte et on met tout en minuscules
set text [stripcodes abcru $text]
set text [string tolower $text]
# on test si on trouve le texte dans la variable bonjour
if {[lsearch $bonjour $text] != -1} {
# on remplace %n par le pseudo
set rep [string map [list %n $nick] $reponse]
# on choisi une réponse aléatoire
set index [rand [llength $rep]]
set rep [lindex $rep $index]
# on envoi la réponse choisie
putserv "PRIVMSG $chan :$rep"
# on ferme les \} qu on a ouvert plus haut
}
}