Communauté Eggdrop
subtilités de getaccount - Version imprimable

+- Communauté Eggdrop (https://forum.eggdrop.fr)
+-- Forum : Eggdrop et TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=8)
+--- Forum : Scripts TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=4)
+--- Sujet : subtilités de getaccount (/showthread.php?tid=1777)



subtilités de getaccount - CrazyCat - 08/02/2024

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.