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