08/02/2024, 03:36 (Modification du message : 08/02/2024, 03:49 par Amand.)
tcl
bind account - *[namespace current]::accountuserproc accountuser {nick user hand chan {account ""}}{if{![channel get $chan certif]}{return}
putlog "$nick : $user / $hand *$chan* -> $account"if{$account==""}{return}[namespace current]::joincertif$nick$user$hand$chan}
bind join - *[namespace current]::joincertifproc joincertif { nick host hand chan }{if{![channel get $chan certif]}{return}
lassign [split$host"@"] ident uhost
putlog "getaccount => $nick = [getaccount $nick $chan]"if{[getaccount $nick$chan] eq "*" || [isvoice $nick$chan]}{return}
::certUser::service:connect
set res [mysqlsel $::mysqlink"SELECT count(*) FROM `voiceauto` WHERE pseudo='$nick' and salon='$chan'" -list]set nb [lindex$res0]if{$nb>= 1}{
putnow "PRIVMSG ChanServ voice $chan $nick"}
::certUser::service:deconnect
}
sur le bind join, quand je suis identifié c'est nickel:
[02:26:35] getaccount => amandtest = amandtest
par contre depuis bind account quand je m'identifie pas à la connection et que je le fais après le join, quand il envoie à la proc joincertif, la fonction getaccount retourne * alors qu'il est bien identifié :
08/02/2024, 10:02 (Modification du message : 08/02/2024, 10:04 par CrazyCat.)
Je viens de faire un test. test0r et JArvis (l'eggdrop) sont sur #test
Code :
.tcl cap enabled
Tcl: invite-notify extended-join sasl chghost account-notify message-tags
.tcl getaccount test0r
Tcl: *
# là, test0r s'identifie en tant que toto
[08:55] test0r!test0r@zeolia-74F4447D.not.my.ip logged in to their account toto
.tcl getaccount test0r
Tcl: toto
Ensuite, test0r fait un /ns logout:
Code :
[08:57] test0r!toto@toto.vhost.fr has logged out of their account
.tcl getaccount test0r
Tcl: *
Ensuite test0r sort de #test et s'identifie à nouveau (Jarvis ne voit rien bien sûr):
Code :
.tcl getaccount test0r
Tcl:
Fonctionnement normal, Jarvis ne voit pas test0r. Donc test0r revient sur le canal (en étant identifié)