]> jfr.im git - solanum.git/blob - doc/oper-guide/cmodes.rst
convert SGML guide to RST
[solanum.git] / doc / oper-guide / cmodes.rst
1 .. contents::
2 :depth: 3
3 ..
4
5 Cmodes
6 ======
7
8 Meanings of channel modes
9 =========================
10
11 +b, channel ban
12 ---------------
13
14 Bans take one parameter which can take several forms. The most common
15 form is +b nick!user@host. The wildcards \* and ? are allowed, matching
16 zero-or-more, and exactly-one characters respectively. The masks will be
17 trimmed to fit the maximum allowable length for the relevant element.
18 Bans are also checked against the IP address, even if it resolved or is
19 spoofed. CIDR is supported, like \*!\*@10.0.0.0/8. This is most useful
20 with IPv6. Bans are not checked against the real hostname behind any
21 kind of spoof, except if host mangling is in use (e.g.
22 ``extensions/ip_cloaking.so``): if the user's host is mangled, their
23 real hostname is checked additionally, and if a user has no spoof but
24 could enable mangling, the mangled form of their hostname is checked
25 additionally. Hence, it is not possible to evade bans by toggling host
26 mangling.
27
28 The second form (extban) is +b $type or +b $type:data. type is a single
29 character (case insensitive) indicating the type of match, optionally
30 preceded by a tilde (~) to negate the comparison. data depends on type.
31 Each type is loaded as a module. The available types (if any) are listed
32 in the EXTBAN token of the 005 (RPL\_ISUPPORT) numeric. See
33 ``doc/extban.txt`` in the source distribution for more information.
34
35 If no parameter is given, the list of bans is returned. All users can
36 use this form. The plus sign should also be omitted.
37
38 Matching users will not be allowed to join the channel or knock on it.
39 If they are already on the channel, they may not send to it or change
40 their nick.
41
42 +c, colour filter
43 -----------------
44
45 This cmode activates the colour filter for the channel. This filters out
46 bold, underline, reverse video, beeps, mIRC colour codes, and ANSI
47 escapes. Note that escape sequences will usually leave cruft sent to the
48 channel, just without the escape characters themselves.
49
50 +e, ban exemption
51 -----------------
52
53 This mode takes one parameter of the same form as bans, which overrides
54 +b and +q bans for all clients it matches.
55
56 This can be useful if it is necessary to ban an entire ISP due to
57 persistent abuse, but some users from that ISP should still be allowed
58 in. For example: /mode #channel +be \*!\*@\*.example.com
59 \*!\*someuser@host3.example.com
60
61 Only channel operators can see +e changes or request the list.
62
63 +f, channel forwarding
64 ----------------------
65
66 This mode takes one parameter, the name of a channel (+f #channel). If
67 the channel also has the +i cmode set, and somebody attempts to join
68 without either being expliticly invited, or having an invex (+I), then
69 they will instead join the channel named in the mode parameter. The
70 client will also be sent a 470 numeric giving the original and target
71 channels.
72
73 Users are similarly forwarded if the +j cmode is set and their attempt
74 to join is throttled, if +l is set and there are already too many users
75 in the channel or if +r is set and they are not identified.
76
77 Forwards may only be set to +F channels, or to channels the setter has
78 ops in.
79
80 Without parameter (/mode #channel f or /mode #channel +f) the forward
81 channel is returned. This form also works off channel.
82
83 +F, allow anybody to forward to this
84 ------------------------------------
85
86 When this mode is set, anybody may set a forward from a channel they
87 have ops in to this channel. Otherwise they have to have ops in this
88 channel.
89
90 +g, allow anybody to invite
91 ---------------------------
92
93 When this mode is set, anybody may use the INVITE command on the channel
94 in question. When it is unset, only channel operators may use the INVITE
95 command.
96
97 When this mode is set together with +i, +j, +l or +r, all channel
98 members can influence who can join.
99
100 +i, invite only
101 ---------------
102
103 When this cmode is set, no client can join the channel unless they have
104 an invex (+I) or are invited with the INVITE command.
105
106 +I, invite exception (invex)
107 ----------------------------
108
109 This mode takes one parameter of the same form as bans. Matching clients
110 do not need to be invited to join the channel when it is invite-only
111 (+i). Unlike the INVITE command, this does not override +j, +l and +r.
112
113 Only channel operators can see +I changes or request the list.
114
115 +j, join throttling
116 -------------------
117
118 This mode takes one parameter of the form n:t, where n and t are
119 positive integers. Only n users may join in each period of t seconds.
120
121 Invited users can join regardless of +j, but are counted as normal.
122
123 Due to propagation delays between servers, more users may be able to
124 join (by racing for the last slot on each server).
125
126 +k, key (channel password)
127 --------------------------
128
129 Taking one parameter, when set, this mode requires a user to supply the
130 key in order to join the channel: /JOIN #channel key.
131
132 +l, channel member limit
133 ------------------------
134
135 Takes one numeric parameter, the number of users which are allowed to be
136 in the channel before further joins are blocked. Invited users may join
137 regardless.
138
139 Due to propagation delays between servers, more users may be able to
140 join (by racing for the last slot on each server).
141
142 +L, large ban list
143 ------------------
144
145 Channels with this mode will be allowed larger banlists (by default, 500
146 instead of 50 entries for +b, +q, +e and +I together). Only network
147 operators with resv privilege may set this mode.
148
149 +m, moderated
150 -------------
151
152 When a channel is set +m, only users with +o or +v on the channel can
153 send to it.
154
155 Users can still knock on the channel or change their nick.
156
157 +n, no external messages
158 ------------------------
159
160 When set, this mode prevents users from sending to the channel without
161 being in it themselves. This is recommended.
162
163 +o, channel operator
164 --------------------
165
166 This mode takes one parameter, a nick, and grants or removes channel
167 operator privilege to that user. Channel operators have full control
168 over the channel, having the ability to set all channel modes except +L
169 and +P, and kick users. Like voiced users, channel operators can always
170 send to the channel, overriding +b, +m and +q modes and the per-channel
171 flood limit. In most clients channel operators are marked with an '@'
172 sign.
173
174 The privilege is lost if the user leaves the channel or server in any
175 way.
176
177 Most networks will run channel registration services (e.g. ChanServ)
178 which ensure the founder (and users designated by the founder) can
179 always gain channel operator privileges and provide some features to
180 manage the channel.
181
182 +p, paranoid channel
183 --------------------
184
185 When set, the KNOCK command cannot be used on the channel to request an
186 invite, and users will not be shown the channel in WHOIS replies unless
187 they are on it. Unlike in traditional IRC, +p and +s can be set
188 together.
189
190 +P, permanent channel
191 ---------------------
192
193 Channels with this mode (which is accessible only to network operators
194 with resv privilege) set will not be destroyed when the last user
195 leaves.
196
197 This makes it less likely modes, bans and the topic will be lost and
198 makes it harder to abuse network splits, but also causes more unwanted
199 restoring of old modes, bans and topics after long splits.
200
201 +q, quiet
202 ---------
203
204 This mode behaves exactly like +b (ban), except that the user may still
205 join the channel. The net effect is that they cannot knock on the
206 channel, send to the channel or change their nick while on channel.
207
208 +Q, block forwarded users
209 -------------------------
210
211 Channels with this mode set are not valid targets for forwarding. Any
212 attempt to forward to this channel will be ignored, and the user will be
213 handled as if the attempt was never made (by sending them the relevant
214 error message).
215
216 This does not affect the ability to set +f.
217
218 +r, block unidentified
219 ----------------------
220
221 When set, this mode prevents unidentified users from joining. Invited
222 users can still join.
223
224 +s, secret channel
225 ------------------
226
227 When set, this mode prevents the channel from appearing in the output of
228 the LIST, WHO and WHOIS command by users who are not on it. Also, the
229 server will refuse to answer WHO, NAMES, TOPIC and LIST queries from
230 users not on the channel.
231
232 +t, topic limit
233 ---------------
234
235 When set, this mode prevents users who are not channel operators from
236 changing the topic.
237
238 +v, voice
239 ---------
240
241 This mode takes one parameter, a nick, and grants or removes voice
242 privilege to that user. Voiced users can always send to the channel,
243 overriding +b, +m and +q modes and the per-channel flood limit. In most
244 clients voiced users are marked with a plus sign.
245
246 The privilege is lost if the user leaves the channel or server in any
247 way.
248
249 +z, reduced moderation
250 ----------------------
251
252 When +z is set, the effects of +m, +b and +q are relaxed. For each
253 message, if that message would normally be blocked by one of these
254 modes, it is instead sent to all channel operators. This is intended for
255 use in moderated debates.
256
257 Note that +n is unaffected by this. To silence a given user completely,
258 remove them from the channel.