Hi,
I'm currently developing a patch for eggdrop to see through ircu's +D (delayed joins) which currently has the following features:
- trigger bind join/bind nick/bind part for invisible users (checks list every minute)
- provide the tcl command "getchanlogin nick ?channel?" which returns the login (AC Token, Q/X-Auth) for the user (0 if not logged in. "" if not yet known). cached for all users on the bots channels
- provide the tcl command "isloggedin nick ?channel?" returning 1 if the user is authed, 0 if not or not found
- provide the tcl command "getchanrealname nick ?channel?" returning the realname of a user (or "" if unknown/user not found)
- provide the tcl command "isinvisible nick ?channel?" returns 1 if the user is invisible on the channel (or any channel if unspecified), 0 otherwise.
When a user joins being invisible I know the login and realname instantly, so..
| 1 | bind join - * bla |
| 2 | proc bla {n u h c} { putmsg $c "Hi $n (authed as [getchanlogin $n $c]) with realname '[getchanrealname $n $c]' } |
will work perfectly for invisible users.
But for visible joins, it knows neither the realname nor the auth onjoin.
What I'm thinking about now is:
Would it be useful to add a (channel-)setting to delay the join-binds until this information is known? (worst case: 1 minute after join)
Should I refresh more than every minute? (I add a queue with lowest priority (< help), so you won't notice it anyway)
Should I add tcl binds for when the information is known or a user authes? Or both? (such as 'bind info' passing 'nick host hand chan login realname' and/or 'bind auth' passing 'nick host hand chan login')
It would be great if you could recommend/comment on those matters (especially the last one is of importance at the moment)
Thanks,
thommey