]> jfr.im git - irc/quakenet/snircd.git/blob - doc/features.txt
Initial import of 2.10.12.01
[irc/quakenet/snircd.git] / doc / features.txt
1 Undernet server features.
2 -------------------------
3
4 This document is supposed to list the features that undernet supports and
5 provides to clients, and which version of ircu this was added. Additional
6 numeric replies should be added here too.
7
8 Extended Who information: (WHOX)
9 Version: unknown, but at least 2.10.07+
10
11 This is described in the file 'readme.who'
12
13 USERIP:
14 Version: unknown, but at least 2.10.07+
15
16 This works the same as userhost, but returns the IP instead, useful for
17 setting a ban on someones IP address instead of their nick.
18 usage:
19 USERIP nick[,nick...]
20 returns:
21 RPL_USERIP (307)
22 :server.name 307 target nick[*]=[+|-]user@host...
23
24 RPL_ISUPPORT:
25 version: 2.10.08+
26
27 This sends a numeric during client signon that lists various features that
28 ircu supports. This allows client and script writers to know what features
29 they can use, and various parameters about the irc server. The numeric
30 used is '005' to try and maintain some semblance of compatibility with
31 dalnet which has a similar feature. The 005 numeric may be split across
32 multiple lines if the length exceeds 512 characters.
33
34 The format is:
35 :servername 005 target feature1 feature2... :are supported by this server.
36 :servername 005 target feature200... :are supported by this server.
37
38 features are either a word describing the feature eg: 'SILENCE', or a word
39 describing the feature and an equals and a list of parameters.
40 eg: SILENCE=15 (says that we support silence, and we support up to 15 of
41 them per user), or FOO=12,3 (says we support FOO with parameters 12 and 3)
42 for example 2.10.08 lists:
43
44 :test.undernet.org 005 test SILENCE=15 WHOX WALLCHOPS USERIP CPRIVMSG
45 CNOTICE MODES=6 MAXCHANNELS=10 MAXBANS=30 NICKLEN=9 TOPICLEN=160
46 KICKLEN=160
47
48 NOTE: Versions prior to 2.10.08+ use numeric 005 as part of 'MAP', so
49 005 should be /not/ be used after the server registration has occured.
50 (ie: after END_OF_MOTD has arrived).
51
52 MAP:
53 Version: unknown, but since 2.9.30 at least, updated in 2.10.08
54
55 /map shows the servers as the server percieves them, who's connected
56 to who in a pretty display. In version 2.10.08 it also lists the
57 amount time time it takes a message to get /from/ a server to the local
58 server - this measures the one way lag only, in 2.10.08 it also lists
59 the number of clients that are currently on that server.
60 The lag estimation is very approximate and depends on people changing nick
61 and joining channels, so the less clients on a server the less reliable the
62 lag estimation is.
63
64 Map prior to 2.10.08 uses:
65 RPL_MAP 005
66 RPL_MAPMORE 006
67 RPL_MAPEND 007
68 Map changed in 2.10.08 to allow for ISUPPORT on numeric 005, the new
69 numerics are:
70 RPL_MAP 015
71 RPL_MAPMORE 016
72 RPL_MAPEND 017
73
74 WALLCHOPS:
75 Version: unknown, but since 2.10.07
76
77 WALLCHOPS sends a message to all channel operators (@)'s on a channel.
78 It does /not/ require you to be op'd (@'d) to do so. This is a feature.
79
80 syntax:
81 WALLCHOPS #channel :message
82 or:
83 NOTICE @#channel :message
84
85 this sends:
86 :user NOTICE @#channel :message
87 to clients that are @'d on the channel.
88
89 CPRIVMSG/CNOTICE:
90 Version: unknown, but since 2.10.07
91
92 CPRIVMSG/CNOTICE are a way around target limiting in recent undernet
93 servers. Undernet servers prevent you from sending messages to too many
94 people at once in an attempt to help cut down the amount of spam that
95 occurs on the network. Because there are several situations where you want
96 to send messages to lots of people that are on the same channel as you
97 (autogreet's and gamebots for example) an 'escape' was made in the form
98 of CPRIVMSG/CNOTICE. These allow you to send a privmsg/notice to a person
99 on a common channel if you are op'd (@'d) without incuring a target
100 penalty. If you see 'Target changed too fast' messages, you should
101 probably be using these commands.
102
103 Syntax:
104 CPRIVMSG #channel nick :Message
105 CNOTICE #channel nick :Message
106
107 Results are the same as for 'PRIVMSG' and 'NOTICE' respectively.
108
109 SILENCE:
110 Version: unknown, 2.9.32 at least.
111
112 Silence is a server side ignore. You can /silence +hostmask or
113 /silence +nick, to add someone to your silence list, or use /silence
114 -hostmask to remove it. /silence will list your 'silence list'.
115 you can /silence nick, to see someone elses silence list (useful for
116 helping someone). Silence is preferably used as a last resort as it
117 tends to use server CPU time. Undernet typically only allows 15 silences
118 per user. in 2.10.08+ this information is available in the RPL_ISUPPORT
119 line.
120
121 Syntax:
122 SILENCE +hostmask
123 SILENCE +nick
124 SILENCE -hostmask
125 SILENCE -nick
126 SILENCE nick
127
128 reply:
129 RPL_SILELIST 217
130 RPL_ENDOFSILELIST 218
131
132 User modes:
133 Version: various
134
135 Undernet supports these additional user modes:
136 +d: Deaf & Dumb. This user will not get any channel traffic. Used for
137 bots.
138 +k: This user cannot be kicked, deop'd or /kill'd. This usermode may only
139 be set by a server, it may not be set by a user. This is used by
140 undernet service bots (X/W/UWorld etc)
141 +g: List channel HACK:'s
142 +s: Server messages - takes a parameter of which masks to send, see
143 'snomask.html' for more details. (2.10.0+)
144
145 LIST:
146 Version: Unknown
147
148 List now takes various parameters to allow you to quickly and efficiently
149 find interesting channels. These are:
150
151 >n or <n show channels with less than or greater than 'n' users
152 respectively
153 C>n or C<n show channels that have existed for less than or greater than
154 'n' minutes.
155 T>n or C<n show channels that have had their topic changed in less than or
156 greater than 'n' minutes.
157
158 Additional Numerics:
159 RPL_LISTHELP 334
160
161 Additional Topic Numerics:
162 Version: Since the dawn of time.
163
164 Topic also lists who set it and when they set it.
165
166 Additional Numerics:
167 RPL_TOPICWHOTIME 333
168
169 Straight after the topic:
170 :server.name 333 #channel Isomer 923423442
171 where the number is seconds past 00:00 1970-01-01 that the topic was set.
172
173
174 INVITE list:
175 Version: 2.10.08+
176
177 /invite without any parameters lists which channels you have an outstanding
178 invite to (ie: an invite to a channel which you haven't joined)
179
180 Additional Numerics:
181 RPL_INVITELIST 346
182 RPL_ENDOFINVITELIST 347
183
184 NICK change:
185 Version: Since the dawn of time.
186
187 Undernet prevents you from changing nick on a channel while your banned.
188 Undernet prevents you changing nicks more than once per 30 seconds, you
189 get one 'free' nick change if you haven't changed nick recently.
190
191 Additional Numerics:
192 RPL_BANNICKCHANGE 347
193 RPL_NICKTOOFAST 349
194
195 Target limiting:
196 Version: Recent 2.10.07ish at least.
197
198 Undernet prevents you from changing 20 targets per 2 minutes. A target
199 is a 'Nick' or 'channel'. This is to prevent spam. If you message more
200 than 20 people or join more than 20 channels in two minutes then you'll
201 start getting 'Target change too fast' and will have to wait before you
202 can start talking. See CPRIVMSG/CNOTICE above for information on how to
203 avoid this.
204
205 Additional Numerics:
206 ERR_TARGETTOOFAST 349
207
208