Oui, ça ne peut pas marcher pour plusieurs raisons:
- Tout d'abord, ça ne sert à rien de passer tes variables en global (d'ailleurs c'est quoi la variabble $destin?)
- tu met dans $destin1 le premier élément... d'une chaine. $nick n'est pas une liste
- tu met dans $destin2 une liste
tcl
bind pub - !destin pub_destin
proc pub_destin { nick uhost handle channel arg } {
# on met dans une liste tous les utilisateurs du canal
set userlist [chanlist $channel]
# on supprime l'utilisateur de la liste
set userlist [lreplace $user_list [lsearch $nick $userlist] [lsearch $nick $userlist]]
# on supprime l'eggdrop de la liste
set userlist [lreplace $user_list [lsearch $::botnick $userlist] [lsearch $::botnick $userlist]]
if {[llength $userlist]>0} {
# s'il reste des utilisateurs "réels"
putserv "PRIVMSG $channel :$nick, tu es destiné à [lindex $userlist [rand [llength $userlist]]]"
} else {
# Sinon ...
putserv "PRIVMSG $channel :$nick, tu joues tout seul!"
}
return 0
}