Communauté Eggdrop

Version complète : subtilités de getaccount
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
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:
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.