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