Je te montre vite fait comment faire un debug, en modifiant ta procédure "vien":
Au moins, tu verras exactement ce qui se passe dans ton script.
Et note que si tu utilises global, tu n'as pas besoin d'utiliser $::, et vice-versa.
tcl
proc vien { nick host hand channel arg } {
global vhostjoinpart vien
putlog "Bind vien déclenché"
set chan [lindex $arg 0]
putlog "Canal visé: $chan"
foreach vhost [array names $::vhostjoinpart] {
putlog "Test: $host vs $vhost"
if {[string match -nocase $vhost $host]} {
putlog "privmsg #lm-staff :\00312Ok, \0037$nick \00312! je rejoins \0034$chan"
channel add $chan
savechannels
} else {
putlog "Pas bon"
}
}
return
}
Au moins, tu verras exactement ce qui se passe dans ton script.
Et note que si tu utilises global, tu n'as pas besoin d'utiliser $::, et vice-versa.