]>
Commit | Line | Data |
---|---|---|
8a7d33db AB |
1 | Channel modes |
2 | ============= | |
2ae078d8 | 3 | |
4245facd AB |
4 | ``+b``, channel ban |
5 | ------------------- | |
2ae078d8 AB |
6 | |
7 | Bans take one parameter which can take several forms. The most common | |
5d963f83 AB |
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. | |
20 | ||
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. | |
2ae078d8 AB |
28 | |
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. | |
31 | ||
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 | |
34 | their nick. | |
35 | ||
4245facd AB |
36 | ``+c``, colour filter |
37 | --------------------- | |
2ae078d8 AB |
38 | |
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. | |
43 | ||
4245facd AB |
44 | ``+e``, ban exemption |
45 | --------------------- | |
2ae078d8 AB |
46 | |
47 | This 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 | |
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 | |
5d963f83 AB |
52 | in. For example:: |
53 | ||
54 | /mode #channel +be *!*@*.example.com *!*someuser@host3.example.com | |
2ae078d8 | 55 | |
4245facd | 56 | Only channel operators can see ``+e`` changes or request the list. |
2ae078d8 | 57 | |
4245facd AB |
58 | ``+f``, channel forwarding |
59 | -------------------------- | |
2ae078d8 | 60 | |
5d963f83 AB |
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. | |
2ae078d8 | 67 | |
4245facd AB |
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. | |
2ae078d8 | 71 | |
4245facd | 72 | Forwards may only be set to ``+F`` channels, or to channels the setter has |
2ae078d8 AB |
73 | ops in. |
74 | ||
4245facd | 75 | Without parameter (``/mode #channel f`` or ``/mode #channel +f``) the forward |
2ae078d8 AB |
76 | channel is returned. This form also works off channel. |
77 | ||
4245facd AB |
78 | ``+F``, allow anybody to forward to this |
79 | ---------------------------------------- | |
2ae078d8 AB |
80 | |
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 | |
83 | channel. | |
84 | ||
4245facd AB |
85 | ``+g``, allow anybody to invite |
86 | ------------------------------- | |
2ae078d8 | 87 | |
5d963f83 AB |
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`` | |
2ae078d8 AB |
90 | command. |
91 | ||
4245facd | 92 | When this mode is set together with ``+i``, ``+j``, ``+l`` or ``+r``, all channel |
2ae078d8 AB |
93 | members can influence who can join. |
94 | ||
4245facd AB |
95 | ``+i``, invite only |
96 | ------------------- | |
2ae078d8 AB |
97 | |
98 | When this cmode is set, no client can join the channel unless they have | |
5d963f83 | 99 | an invex (``+I``) or are invited with the ``INVITE`` command. |
2ae078d8 | 100 | |
4245facd AB |
101 | ``+I``, invite exception (invex) |
102 | -------------------------------- | |
2ae078d8 AB |
103 | |
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 | |
5d963f83 | 106 | (``+i``). Unlike the ``INVITE`` command, this does not override ``+j``, ``+l`` and ``+r``. |
2ae078d8 | 107 | |
4245facd | 108 | Only channel operators can see ``+I`` changes or request the list. |
2ae078d8 | 109 | |
4245facd AB |
110 | ``+j``, join throttling |
111 | ----------------------- | |
2ae078d8 AB |
112 | |
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. | |
115 | ||
4245facd | 116 | Invited users can join regardless of ``+j``, but are counted as normal. |
2ae078d8 AB |
117 | |
118 | Due to propagation delays between servers, more users may be able to | |
119 | join (by racing for the last slot on each server). | |
120 | ||
4245facd AB |
121 | ``+k``, key (channel password) |
122 | ------------------------------ | |
2ae078d8 AB |
123 | |
124 | Taking one parameter, when set, this mode requires a user to supply the | |
5d963f83 | 125 | key in order to join the channel: ``/JOIN #channel key``. |
2ae078d8 | 126 | |
4245facd AB |
127 | ``+l``, channel member limit |
128 | ---------------------------- | |
2ae078d8 AB |
129 | |
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 | |
132 | regardless. | |
133 | ||
134 | Due to propagation delays between servers, more users may be able to | |
135 | join (by racing for the last slot on each server). | |
136 | ||
4245facd AB |
137 | ``+L``, large ban list |
138 | ---------------------- | |
2ae078d8 AB |
139 | |
140 | Channels with this mode will be allowed larger banlists (by default, 500 | |
4245facd | 141 | instead of 50 entries for ``+b``, ``+q``, ``+e`` and ``+I`` together). Only network |
2ae078d8 AB |
142 | operators with resv privilege may set this mode. |
143 | ||
4245facd AB |
144 | ``+m``, moderated |
145 | ----------------- | |
2ae078d8 | 146 | |
4245facd | 147 | When a channel is set ``+m``, only users with ``+o`` or ``+v`` on the channel can |
2ae078d8 AB |
148 | send to it. |
149 | ||
150 | Users can still knock on the channel or change their nick. | |
151 | ||
4245facd AB |
152 | ``+n``, no external messages |
153 | ---------------------------- | |
2ae078d8 AB |
154 | |
155 | When set, this mode prevents users from sending to the channel without | |
156 | being in it themselves. This is recommended. | |
157 | ||
4245facd AB |
158 | ``+o``, channel operator |
159 | ------------------------ | |
2ae078d8 AB |
160 | |
161 | This mode takes one parameter, a nick, and grants or removes channel | |
162 | operator privilege to that user. Channel operators have full control | |
4245facd AB |
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 | |
2ae078d8 AB |
166 | flood limit. In most clients channel operators are marked with an '@' |
167 | sign. | |
168 | ||
169 | The privilege is lost if the user leaves the channel or server in any | |
170 | way. | |
171 | ||
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 | |
175 | manage the channel. | |
176 | ||
4245facd AB |
177 | ``+p``, paranoid channel |
178 | ------------------------ | |
2ae078d8 | 179 | |
5d963f83 AB |
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 | |
4245facd | 182 | they are on it. Unlike in traditional IRC, ``+p`` and ``+s`` can be set |
2ae078d8 AB |
183 | together. |
184 | ||
4245facd AB |
185 | ``+P``, permanent channel |
186 | ------------------------- | |
2ae078d8 AB |
187 | |
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 | |
190 | leaves. | |
191 | ||
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. | |
195 | ||
4245facd AB |
196 | ``+q``, quiet |
197 | ------------- | |
2ae078d8 | 198 | |
4245facd | 199 | This mode behaves exactly like ``+b`` (ban), except that the user may still |
2ae078d8 AB |
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. | |
202 | ||
4245facd AB |
203 | ``+Q``, block forwarded users |
204 | ----------------------------- | |
2ae078d8 AB |
205 | |
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 | |
209 | error message). | |
210 | ||
4245facd | 211 | This does not affect the ability to set ``+f``. |
2ae078d8 | 212 | |
4245facd AB |
213 | ``+r``, block unidentified |
214 | -------------------------- | |
2ae078d8 AB |
215 | |
216 | When set, this mode prevents unidentified users from joining. Invited | |
217 | users can still join. | |
218 | ||
4245facd AB |
219 | ``+s``, secret channel |
220 | ---------------------- | |
2ae078d8 AB |
221 | |
222 | When set, this mode prevents the channel from appearing in the output of | |
5d963f83 AB |
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 | |
2ae078d8 AB |
225 | users not on the channel. |
226 | ||
4245facd AB |
227 | ``+t``, topic limit |
228 | ------------------- | |
2ae078d8 AB |
229 | |
230 | When set, this mode prevents users who are not channel operators from | |
231 | changing the topic. | |
232 | ||
4245facd AB |
233 | ``+v``, voice |
234 | ------------- | |
2ae078d8 AB |
235 | |
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, | |
4245facd | 238 | overriding ``+b``, ``+m`` and ``+q`` modes and the per-channel flood limit. In most |
2ae078d8 AB |
239 | clients voiced users are marked with a plus sign. |
240 | ||
241 | The privilege is lost if the user leaves the channel or server in any | |
242 | way. | |
243 | ||
4245facd AB |
244 | ``+z``, reduced moderation |
245 | -------------------------- | |
2ae078d8 | 246 | |
4245facd | 247 | When ``+z`` is set, the effects of ``+m``, ``+b`` and ``+q`` are relaxed. For each |
2ae078d8 AB |
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. | |
251 | ||
4245facd | 252 | Note that ``+n`` is unaffected by this. To silence a given user completely, |
2ae078d8 | 253 | remove them from the channel. |