Add specification for the account-notify protocol extension.
This commit is contained in:
parent
7a7f86d344
commit
4f943f99e6
1 changed files with 49 additions and 0 deletions
49
doc/account-notify.txt
Normal file
49
doc/account-notify.txt
Normal file
|
@ -0,0 +1,49 @@
|
|||
account-notify client capability specification
|
||||
----------------------------------------------
|
||||
|
||||
Copyright (c) 2010 William Pitcock <nenolod@atheme.org>.
|
||||
|
||||
Unlimited redistribution and modification of this document is allowed
|
||||
provided that the above copyright notice and this permission notice
|
||||
remains in tact.
|
||||
|
||||
The account-notify client capability allows a client to be notified
|
||||
when another client's accountname changes. This capability MUST be
|
||||
referred to as 'account-notify' at capability negotiation time.
|
||||
|
||||
When enabled, clients will get the ACCOUNT message to designate the
|
||||
accountname changes for clients on common channels with them.
|
||||
|
||||
The ACCOUNT message is one of the following:
|
||||
|
||||
:nick!user@host ACCOUNT accountname
|
||||
|
||||
This message represents that the user identified by nick!user@host has
|
||||
logged into a new account. The last parameter is the display name of
|
||||
that account.
|
||||
|
||||
:nick!user@host ACCOUNT *
|
||||
|
||||
This message represents that the user identified by nick!user@host has
|
||||
logged out of their account. As the last parameter is an asterisk, this
|
||||
means that an asterisk is not a valid account name (which it is not in P10
|
||||
or TS6 or ESVID).
|
||||
|
||||
In order to take full advantage of the ACCOUNT message, WHOX must be
|
||||
supported by the ircd. In this case, the appropriate strategy to ensuring
|
||||
you always have the accountname to display is to do the following:
|
||||
|
||||
1) Enable the account-notify capability at capability negotiation time during
|
||||
the login handshake.
|
||||
|
||||
2) When joining a channel, query the channel using WHO and ensure that you
|
||||
include the 'a' format token in your WHOX token request. When you get
|
||||
a reply, do appropriate caching.
|
||||
|
||||
3) When new users join a channel that your client does not know the accountname
|
||||
for yet, do a WHO query against that client, again including the 'a' format
|
||||
token in your WHOX token request field. When you get a reply, do appropriate
|
||||
caching.
|
||||
|
||||
4) When the client receives an ACCOUNT message, update the accountname for the
|
||||
client in question in your accountname cache.
|
Loading…
Reference in a new issue