]> jfr.im git - solanum.git/blame - doc/features/monitor.txt
Merge pull request #183 from grawity/sasl-fail-throttle-v3
[solanum.git] / doc / features / monitor.txt
CommitLineData
212380e3
AC
1MONITOR - Protocol for notification of when clients become online/offline
2 Lee Hardy <lee -at- leeh.co.uk>
212380e3
AC
3-------------------------------------------------------------------------
4
5Currently, ISON requests by clients use a large amount of bandwidth. It is
6expected that it is more efficient for this to be done by the server at the
7expense of cpu cycles. The WATCH implementation that was designed to counter
8this is (in my opinion) severely flawed. This protocol was designed to
9provide a cleaner implementation.
10
11The command used throughout this specification is "MONITOR".
12
13Each use of the MONITOR command takes a special modifier, indicating
14the operation being performed. The client MUST NOT attempt to specify
15more than one modifier. Only one special modifier may be used per MONITOR
16command.
17
18Thus it is impossible to combine additions to the list with removals from
19the list -- these MUST be done with two seperate commands.
20
21A client MUST NOT issue the MONITOR command more than once per second.
22Any attempts to do so will generate an error.
23
24In commands and numerics where multiple nicknames may occur, the length of
25the nickname list is limited only by the buffer size of 512 chars, as
26defined in RFC1459.
27
28Support of this specification is indicated by the MONITOR token in
29RPL_ISUPPORT (005). This token takes an optional parameter, of the maximum
30amount of nicknames a client may have in their monitor list. If no
31parameter is specified, there is no limit. A typical token would be:
32MONITOR=100
33
34MONITOR + nick[,nick2]*
35-----------------------
36Adds the given list of nicknames to the list of nicknames being monitored.
37
38If any of the nicknames being added are online, the server will generate
39RPL_MONONLINE numerics listing those nicknames that are online.
40
41If any of the nicknames being added are offline, the server will generate
42RPL_MONOFFLINE numerics listing those nicknames that are offline.
43
44MONITOR - nick[,nick2]*
45-----------------------
46Removes the given list of nicknames from the list of nicknames being
47monitored. No output will be returned for use of this command.
48
49MONITOR C
50---------
51Clears the list of nicknames being monitored. No output will be returned
52for use of this command.
53
54MONITOR L
55---------
56Outputs the current list of nicknames being monitored. All output will use
57RPL_MONLIST, and the output will be terminated with RPL_ENDOFMONLIST
58
59MONITOR S
60---------
61Outputs for each nickname in the list being monitored, whether the client is
62online or offline. All nicks that are online will be sent using
63RPL_MONONLINE, all nicks that are offline will be sent using RPL_MONOFFLINE.
212380e3
AC
64
65
66Numeric replies
67---------------
68
69730 - RPL_MONONLINE
70-------------------
71:<server> 730 <nick> :nick!user@host[,nick!user@host]*
72
73This numeric is used to indicate to a client that either a nickname has just
74become online, or that a nickname they have added to their monitor list is
75online.
76
8aba962d
JT
77The server may send "*" instead of the target nick (<nick>). (This makes it
78possible to send the exact same message to all clients monitoring a certain
79nick.)
80
212380e3
AC
81731 - RPL_MONOFFLINE
82--------------------
83:<server> 731 <nick> :nick[,nick1]*
84
85This numeric is used to indicate to a client that either a nickname has just
86left the irc network, or that a nickname they have added to their monitor
87list is offline.
88
89The argument is a chained list of nicknames that are offline.
90
8aba962d
JT
91As with 730 the server may send "*" instead of the target nick.
92
212380e3
AC
93732 - RPL_MONLIST
94-----------------
95:<server> 732 <nick> :nick[,nick1]*
96
97This numeric is used to indicate to a client the list of nicknames they have
98in their monitor list.
99
100733 - RPL_ENDOFMONLIST
101------------------------
102:<server> 733 <nick> :End of MONITOR list
103
104This numeric is used to indicate to a client the end of a monitor list.
105
106734 - ERR_MONLISTFULL
107---------------------
108:<server> 734 <nick> <limit> <nicks> :Monitor list is full.
109
110This numeric is used to indicate to a client that their monitor list is
111full, so the command failed. The <limit> parameter is the maximum number of
112nicknames a client may have in their list, the <nicks> parameter is the list
113of nicknames, as the client sent them, that cannot be added.
114
115