]> jfr.im git - solanum.git/blame - doc/away-notify.txt
Add .travis.yml
[solanum.git] / doc / away-notify.txt
CommitLineData
c5bbc603
KB
1away-notify client capability specification
2----------------------------------------------
3
4Copyright (c) 2012 Keith Buck <mr_flea@esper.net>.
5
6Unlimited redistribution and modification of this document is allowed
7provided that the above copyright notice and this permission notice
8remains in tact.
9
10The away-notify client capability allows a client to specify that it
11would like to be notified when users are marked/unmarked as away. This
12capability is referred to as 'away-notify' at capability negotiation
13time.
14
15This capability is designed to replace polling of WHO as a more
16efficient method of tracking the away state of users in a channel. The
17away-notify capability both conserves bandwidth as WHO requests are
18not continually sent and allows the client to be notified immediately
19upon a user setting or removing their away state (as opposed to when
20WHO is next polled).
21
22When this capability is enabled, clients will be sent an AWAY message
23when a user sharing a channel with them sets or removes their away
24state, as well as when a user joins and has an away message set.
25(Note that AWAY will not be sent for joining users with no away
26message set.)
27
28The format of the AWAY message is as follows:
29
30 :nick!user@host AWAY [:message]
31
32If the message is present, the user (specified by the nick!user@host
33mask) is going away. If the message is not present, the user is
34removing their away message/state.
35
36To fully track the away state of users, clients should:
37
381) Enable the away-notify capability at negotiation time.
39
402) Execute WHO when joining a channel to capture the current away
41 state of all users in that channel.
42
433) Update state appropriately upon receiving an AWAY message.