]>
Commit | Line | Data |
---|---|---|
8a7d33db AB |
1 | Channel modes |
2 | ============= | |
2ae078d8 | 3 | |
f5bd6324 AB |
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 | ||
4245facd AB |
15 | ``+b``, channel ban |
16 | ------------------- | |
2ae078d8 AB |
17 | |
18 | Bans take one parameter which can take several forms. The most common | |
5d963f83 AB |
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 | |
f2fa7bd2 | 38 | distribution or ``HELP EXTBAN`` for more information. |
2ae078d8 AB |
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 | ||
4245facd AB |
47 | ``+c``, colour filter |
48 | --------------------- | |
2ae078d8 AB |
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 | ||
4245facd AB |
55 | ``+e``, ban exemption |
56 | --------------------- | |
2ae078d8 AB |
57 | |
58 | This 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 | |
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 | |
5d963f83 AB |
63 | in. For example:: |
64 | ||
65 | /mode #channel +be *!*@*.example.com *!*someuser@host3.example.com | |
2ae078d8 | 66 | |
4245facd | 67 | Only channel operators can see ``+e`` changes or request the list. |
2ae078d8 | 68 | |
4245facd AB |
69 | ``+f``, channel forwarding |
70 | -------------------------- | |
2ae078d8 | 71 | |
5d963f83 AB |
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. | |
2ae078d8 | 78 | |
4245facd AB |
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. | |
2ae078d8 | 82 | |
4245facd | 83 | Forwards may only be set to ``+F`` channels, or to channels the setter has |
2ae078d8 AB |
84 | ops in. |
85 | ||
4245facd | 86 | Without parameter (``/mode #channel f`` or ``/mode #channel +f``) the forward |
2ae078d8 AB |
87 | channel is returned. This form also works off channel. |
88 | ||
4245facd AB |
89 | ``+F``, allow anybody to forward to this |
90 | ---------------------------------------- | |
2ae078d8 AB |
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 | ||
4245facd AB |
96 | ``+g``, allow anybody to invite |
97 | ------------------------------- | |
2ae078d8 | 98 | |
5d963f83 AB |
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`` | |
2ae078d8 AB |
101 | command. |
102 | ||
4245facd | 103 | When this mode is set together with ``+i``, ``+j``, ``+l`` or ``+r``, all channel |
2ae078d8 AB |
104 | members can influence who can join. |
105 | ||
4245facd AB |
106 | ``+i``, invite only |
107 | ------------------- | |
2ae078d8 AB |
108 | |
109 | When this cmode is set, no client can join the channel unless they have | |
5d963f83 | 110 | an invex (``+I``) or are invited with the ``INVITE`` command. |
2ae078d8 | 111 | |
4245facd AB |
112 | ``+I``, invite exception (invex) |
113 | -------------------------------- | |
2ae078d8 AB |
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 | |
5d963f83 | 117 | (``+i``). Unlike the ``INVITE`` command, this does not override ``+j``, ``+l`` and ``+r``. |
2ae078d8 | 118 | |
4245facd | 119 | Only channel operators can see ``+I`` changes or request the list. |
2ae078d8 | 120 | |
4245facd AB |
121 | ``+j``, join throttling |
122 | ----------------------- | |
2ae078d8 AB |
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 | ||
4245facd | 127 | Invited users can join regardless of ``+j``, but are counted as normal. |
2ae078d8 AB |
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 | ||
4245facd AB |
132 | ``+k``, key (channel password) |
133 | ------------------------------ | |
2ae078d8 AB |
134 | |
135 | Taking one parameter, when set, this mode requires a user to supply the | |
5d963f83 | 136 | key in order to join the channel: ``/JOIN #channel key``. |
2ae078d8 | 137 | |
4245facd AB |
138 | ``+l``, channel member limit |
139 | ---------------------------- | |
2ae078d8 AB |
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 | ||
4245facd AB |
148 | ``+L``, large ban list |
149 | ---------------------- | |
2ae078d8 AB |
150 | |
151 | Channels with this mode will be allowed larger banlists (by default, 500 | |
4245facd | 152 | instead of 50 entries for ``+b``, ``+q``, ``+e`` and ``+I`` together). Only network |
2ae078d8 AB |
153 | operators with resv privilege may set this mode. |
154 | ||
4245facd AB |
155 | ``+m``, moderated |
156 | ----------------- | |
2ae078d8 | 157 | |
4245facd | 158 | When a channel is set ``+m``, only users with ``+o`` or ``+v`` on the channel can |
2ae078d8 AB |
159 | send to it. |
160 | ||
161 | Users can still knock on the channel or change their nick. | |
162 | ||
4245facd AB |
163 | ``+n``, no external messages |
164 | ---------------------------- | |
2ae078d8 AB |
165 | |
166 | When set, this mode prevents users from sending to the channel without | |
167 | being in it themselves. This is recommended. | |
168 | ||
4245facd AB |
169 | ``+o``, channel operator |
170 | ------------------------ | |
2ae078d8 AB |
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 | |
4245facd AB |
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 | |
2ae078d8 AB |
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 | ||
4245facd AB |
188 | ``+p``, paranoid channel |
189 | ------------------------ | |
2ae078d8 | 190 | |
5d963f83 AB |
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 | |
4245facd | 193 | they are on it. Unlike in traditional IRC, ``+p`` and ``+s`` can be set |
2ae078d8 AB |
194 | together. |
195 | ||
4245facd AB |
196 | ``+P``, permanent channel |
197 | ------------------------- | |
2ae078d8 AB |
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 | ||
4245facd AB |
207 | ``+q``, quiet |
208 | ------------- | |
2ae078d8 | 209 | |
4245facd | 210 | This mode behaves exactly like ``+b`` (ban), except that the user may still |
2ae078d8 AB |
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 | ||
4245facd AB |
214 | ``+Q``, block forwarded users |
215 | ----------------------------- | |
2ae078d8 AB |
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 | ||
4245facd | 222 | This does not affect the ability to set ``+f``. |
2ae078d8 | 223 | |
4245facd AB |
224 | ``+r``, block unidentified |
225 | -------------------------- | |
2ae078d8 AB |
226 | |
227 | When set, this mode prevents unidentified users from joining. Invited | |
228 | users can still join. | |
229 | ||
4245facd AB |
230 | ``+s``, secret channel |
231 | ---------------------- | |
2ae078d8 AB |
232 | |
233 | When set, this mode prevents the channel from appearing in the output of | |
5d963f83 AB |
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 | |
2ae078d8 AB |
236 | users not on the channel. |
237 | ||
4245facd AB |
238 | ``+t``, topic limit |
239 | ------------------- | |
2ae078d8 AB |
240 | |
241 | When set, this mode prevents users who are not channel operators from | |
242 | changing the topic. | |
243 | ||
4245facd AB |
244 | ``+v``, voice |
245 | ------------- | |
2ae078d8 AB |
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, | |
4245facd | 249 | overriding ``+b``, ``+m`` and ``+q`` modes and the per-channel flood limit. In most |
2ae078d8 AB |
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 | ||
4245facd AB |
255 | ``+z``, reduced moderation |
256 | -------------------------- | |
2ae078d8 | 257 | |
4245facd | 258 | When ``+z`` is set, the effects of ``+m``, ``+b`` and ``+q`` are relaxed. For each |
2ae078d8 AB |
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 | ||
4245facd | 263 | Note that ``+n`` is unaffected by this. To silence a given user completely, |
2ae078d8 | 264 | remove them from the channel. |