7 Bans take one parameter which can take several forms. The most common
8 form is ``+b nick!user@host``. The wildcards ``*`` and ``?`` are
9 allowed, matching zero-or-more, and exactly-one characters
10 respectively. The masks will be trimmed to fit the maximum allowable
11 length for the relevant element. Bans are also checked against the IP
12 address, 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
14 checked against the real hostname behind any kind of spoof, except if
15 host mangling is in use (e.g. ``extensions/ip_cloaking.so``): if the
16 user's host is mangled, their real hostname is checked additionally,
17 and if a user has no spoof but could enable mangling, the mangled form
18 of their hostname is checked additionally. Hence, it is not possible
19 to evade bans by toggling host mangling.
21 The second form (extban) is ``+b $type`` or ``+b $type:data``. type is
22 a single character (case insensitive) indicating the type of match,
23 optionally preceded by a tilde (``~``) to negate the comparison. data
24 depends 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
27 distribution for more information.
29 If no parameter is given, the list of bans is returned. All users can
30 use this form. The plus sign should also be omitted.
32 Matching users will not be allowed to join the channel or knock on it.
33 If they are already on the channel, they may not send to it or change
39 This cmode activates the colour filter for the channel. This filters out
40 bold, underline, reverse video, beeps, mIRC colour codes, and ANSI
41 escapes. Note that escape sequences will usually leave cruft sent to the
42 channel, just without the escape characters themselves.
47 This mode takes one parameter of the same form as bans, which overrides
48 ``+b`` and ``+q`` bans for all clients it matches.
50 This can be useful if it is necessary to ban an entire ISP due to
51 persistent abuse, but some users from that ISP should still be allowed
54 /mode #channel +be *!*@*.example.com *!*someuser@host3.example.com
56 Only channel operators can see ``+e`` changes or request the list.
58 ``+f``, channel forwarding
59 --------------------------
61 This mode takes one parameter, the name of a channel (``+f
62 #channel``). If the channel also has the ``+i`` cmode set, and
63 somebody attempts to join without either being expliticly invited, or
64 having an invex (``+I``), then they will instead join the channel
65 named in the mode parameter. The client will also be sent a 470
66 numeric giving the original and target channels.
68 Users are similarly forwarded if the ``+j`` cmode is set and their attempt
69 to join is throttled, if ``+l`` is set and there are already too many users
70 in the channel or if ``+r`` is set and they are not identified.
72 Forwards may only be set to ``+F`` channels, or to channels the setter has
75 Without parameter (``/mode #channel f`` or ``/mode #channel +f``) the forward
76 channel is returned. This form also works off channel.
78 ``+F``, allow anybody to forward to this
79 ----------------------------------------
81 When this mode is set, anybody may set a forward from a channel they
82 have ops in to this channel. Otherwise they have to have ops in this
85 ``+g``, allow anybody to invite
86 -------------------------------
88 When this mode is set, anybody may use the ``INVITE`` command on the channel
89 in question. When it is unset, only channel operators may use the ``INVITE``
92 When this mode is set together with ``+i``, ``+j``, ``+l`` or ``+r``, all channel
93 members can influence who can join.
98 When this cmode is set, no client can join the channel unless they have
99 an invex (``+I``) or are invited with the ``INVITE`` command.
101 ``+I``, invite exception (invex)
102 --------------------------------
104 This mode takes one parameter of the same form as bans. Matching clients
105 do not need to be invited to join the channel when it is invite-only
106 (``+i``). Unlike the ``INVITE`` command, this does not override ``+j``, ``+l`` and ``+r``.
108 Only channel operators can see ``+I`` changes or request the list.
110 ``+j``, join throttling
111 -----------------------
113 This mode takes one parameter of the form n:t, where n and t are
114 positive integers. Only n users may join in each period of t seconds.
116 Invited users can join regardless of ``+j``, but are counted as normal.
118 Due to propagation delays between servers, more users may be able to
119 join (by racing for the last slot on each server).
121 ``+k``, key (channel password)
122 ------------------------------
124 Taking one parameter, when set, this mode requires a user to supply the
125 key in order to join the channel: ``/JOIN #channel key``.
127 ``+l``, channel member limit
128 ----------------------------
130 Takes one numeric parameter, the number of users which are allowed to be
131 in the channel before further joins are blocked. Invited users may join
134 Due to propagation delays between servers, more users may be able to
135 join (by racing for the last slot on each server).
137 ``+L``, large ban list
138 ----------------------
140 Channels with this mode will be allowed larger banlists (by default, 500
141 instead of 50 entries for ``+b``, ``+q``, ``+e`` and ``+I`` together). Only network
142 operators with resv privilege may set this mode.
147 When a channel is set ``+m``, only users with ``+o`` or ``+v`` on the channel can
150 Users can still knock on the channel or change their nick.
152 ``+n``, no external messages
153 ----------------------------
155 When set, this mode prevents users from sending to the channel without
156 being in it themselves. This is recommended.
158 ``+o``, channel operator
159 ------------------------
161 This mode takes one parameter, a nick, and grants or removes channel
162 operator privilege to that user. Channel operators have full control
163 over the channel, having the ability to set all channel modes except ``+L``
164 and ``+P``, and kick users. Like voiced users, channel operators can always
165 send to the channel, overriding ``+b``, ``+m`` and ``+q`` modes and the per-channel
166 flood limit. In most clients channel operators are marked with an '@'
169 The privilege is lost if the user leaves the channel or server in any
172 Most networks will run channel registration services (e.g. ChanServ)
173 which ensure the founder (and users designated by the founder) can
174 always gain channel operator privileges and provide some features to
177 ``+p``, paranoid channel
178 ------------------------
180 When set, the ``KNOCK`` command cannot be used on the channel to request an
181 invite, and users will not be shown the channel in ``WHOIS`` replies unless
182 they are on it. Unlike in traditional IRC, ``+p`` and ``+s`` can be set
185 ``+P``, permanent channel
186 -------------------------
188 Channels with this mode (which is accessible only to network operators
189 with resv privilege) set will not be destroyed when the last user
192 This makes it less likely modes, bans and the topic will be lost and
193 makes it harder to abuse network splits, but also causes more unwanted
194 restoring of old modes, bans and topics after long splits.
199 This mode behaves exactly like ``+b`` (ban), except that the user may still
200 join the channel. The net effect is that they cannot knock on the
201 channel, send to the channel or change their nick while on channel.
203 ``+Q``, block forwarded users
204 -----------------------------
206 Channels with this mode set are not valid targets for forwarding. Any
207 attempt to forward to this channel will be ignored, and the user will be
208 handled as if the attempt was never made (by sending them the relevant
211 This does not affect the ability to set ``+f``.
213 ``+r``, block unidentified
214 --------------------------
216 When set, this mode prevents unidentified users from joining. Invited
217 users can still join.
219 ``+s``, secret channel
220 ----------------------
222 When set, this mode prevents the channel from appearing in the output of
223 the ``LIST``, ``WHO`` and ``WHOIS`` command by users who are not on it. Also, the
224 server will refuse to answer ``WHO``, ``NAMES``, ``TOPIC`` and ``LIST`` queries from
225 users not on the channel.
230 When set, this mode prevents users who are not channel operators from
236 This mode takes one parameter, a nick, and grants or removes voice
237 privilege to that user. Voiced users can always send to the channel,
238 overriding ``+b``, ``+m`` and ``+q`` modes and the per-channel flood limit. In most
239 clients voiced users are marked with a plus sign.
241 The privilege is lost if the user leaves the channel or server in any
244 ``+z``, reduced moderation
245 --------------------------
247 When ``+z`` is set, the effects of ``+m``, ``+b`` and ``+q`` are relaxed. For each
248 message, if that message would normally be blocked by one of these
249 modes, it is instead sent to all channel operators. This is intended for
250 use in moderated debates.
252 Note that ``+n`` is unaffected by this. To silence a given user completely,
253 remove them from the channel.