08-21-2017, 04:39 +0200
AuthorPost
thommey  04-11-2008, 00:20   | Any feature suggestions/recommendations? Jabber
(Administrator)
Member since 03/2004
62 Posts
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
2
bind join - * bla
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
elven  05-17-2008, 15:35   | Just some quick thoughts on this .. Jabber
security dept.
(Administrator)
Member since 03/2004
55 Posts
Quote by thommey on 04-11-2008, 00:20:
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')


I think this is the way to go.

All other approaches mentioned do not add informational value; they simply add crafted delays or produce other overhead to the system to make life simpler (but, in reality, they don't).
Refreshes at one minute are fine. Possibly provide a proc to trigger manual updates for a nick, and catch the results in a bind, resulting in async operation. I do not think that this is necessary, however.
The IRC protocol does not provide proper state in this matter, and as such, neither should eggdrop. Covering it up with fake marble will not improve matters.

irc.swordcoast.net
Advanced options for this topic:

Ignore this topic (Do not list this topic in the "unread topics" search. You are currently not ignoring this topic.)
Hide this topic (Hidden topics are not displayed in the topics list. This topic is currently not hidden.)
Go to forum

Unclassified NewsBoard 1.5.3-d | © 2003-4 by Yves Goergen