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