Pour faire suite au souci sur isidentified, nous avons poussé les tests.
Résumé du problème: un utilisateur identifié rejoint le canal, le getaccount renvoie la bonne valeur. Si l'utilisateur s'identifie après être entré, getaccount retourne *
Tests:
Ce que l'on voit, c'est que getaccount retourne le compte de la personne ayant déclenché le bind en non pas le compte après l'identification (ou le logout). Par contre, l'argument $account est bien le nouveau.
Cela signifie que si vous avez une procédure qui doit réagir à une (dés)identification et travailler avec le nouveau compte, vous ne devez pas utiliser getaccount mais $account.
Résumé du problème: un utilisateur identifié rejoint le canal, le getaccount renvoie la bonne valeur. Si l'utilisateur s'identifie après être entré, getaccount retourne *
Tests:
tcl
bind account - * accountuser
proc accountuser {nick uhost hand chan {account ""}} {
putlog "*** account => $account vs [getaccount $nick $chan]"
principale $nick $uhost $chan
}
proc principale {nick uhost chan} {
putlog "*** principale => getaccount $nick $chan = [getaccount $nick $chan]"
return
}
Code :
[10:56] test0r!toto@toto.vhost.fr has logged out of their account
[10:56] *** account => * vs toto
[10:56] *** principale => getaccount test0r #test = toto
[10:56] test0r!toto@toto.vhost.fr logged in to their account toto
[10:56] *** account => toto vs *
[10:56] *** principale => getaccount test0r #test = *
Ce que l'on voit, c'est que getaccount retourne le compte de la personne ayant déclenché le bind en non pas le compte après l'identification (ou le logout). Par contre, l'argument $account est bien le nouveau.
Cela signifie que si vous avez une procédure qui doit réagir à une (dés)identification et travailler avec le nouveau compte, vous ne devez pas utiliser getaccount mais $account.