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