Difference between revisions of "Channel Modes"

From Xertion Wiki
Jump to: navigation, search
(Channel Modes: Clarify channel mode +s and +p has no effect on Xertion staff)
(Complete rewrite and reorganization)
Line 1: Line 1:
==Example==
+
==How to change a channel mode==
To set <code>+c</code> on the channel <code>#moo</code>:
+
To change a mode on a channel, use the <code>/mode</code> command with the channel mode you wish to change. For example:
  
<code>/mode #moo +c</code>
+
To set +c on the channel #example:
  
To unset it:
+
<code>/mode #example +c</code>
  
<code>/mode #moo -c</code>
+
Or to unset it:
 +
 
 +
<code>/mode #example -c</code>
 +
 
 +
'''NOTE:''' Some channels make use of ChanServ to lock certain modes from being unset (or even set, in some cases). By default, channel modes +n and +t are locked on all newly registered channels so they usually cannot be unset.
 +
 
 +
 
 +
==Standalone Channel Modes==
 +
These channel modes don't have any parameters, you simply set or unset them.
  
==Channel Modes==
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 17: Line 24:
 
| '''c'''
 
| '''c'''
 
| No control codes
 
| No control codes
| Prevent all users from sending colored, underlined and bold text.
+
| Blocks messages containing control codes (color, bold, underline, etc) from being sent to the channel
 +
|-
 +
| '''i'''
 +
| Invite only
 +
| Makes the channel invite-only. Users must be invited by a channel operator in the channel with the <code>/invite</code> command in order to join. Users who match an existing invex (+I) mask may join without being invited.
 +
|-
 +
| '''m'''
 +
| Moderated
 +
| Mutes the channel - users who do not have at least voice (+v) or higher cannot talk in the channel.
 
|-
 
|-
 
| '''n'''
 
| '''n'''
 
| No external messages
 
| No external messages
| Prevent any user from using <code>/msg #channel</code> if they're not in the channel themselves.
+
| Blocks external messages to the channel from outside the channel. In other words, you cannot <code>/msg #channel text</code> if you are not in <em>#channel</em> itself, with this mode set. '''NOTE:''' This mode is usually locked on by default, via ChanServ's mode locking, and thus cannot usually be unset.
 
|-
 
|-
| '''t'''
+
| '''p'''
| Ops topic
+
| Private
| Prevent any user who does not have halfop or higher to set channel topics.  
+
| Marks the channel as private - the channel will not be shown in any user's <code>/whois</code> output, and will show up as * in /LIST. '''Note that Xertion network staff can still see the channel normally in /list and /whois even with this set'''
 
|-
 
|-
 
| '''s'''
 
| '''s'''
 
| Secret
 
| Secret
| Make the channel completely secret to anyone (except server admins). With this mode set, the channel will not be shown in <code>/whois</code> or <code>/list</code>. '''Note that Xertion network staff can still see the channel in /list and /whois even with this set'''
+
| Marks the channel as secret - the channel will not be shown in any user's <code>/whois</code> output, nor will it be shown in /LIST. '''Note that Xertion network staff can still see the channel in /list and /whois even with this set'''
|-
+
| '''p'''
+
| Private
+
|  Make channel private, hiding it in users' whois and replacing it with * in /LIST. '''Note that Xertion network staff can still see the channel normally in /list and /whois even with this set'''
+
 
|-
 
|-
| '''m'''
+
| '''t'''
| Moderated
+
| (Half)Ops topic
| Prevent any user without voice (<code>+v</code>) or higher from talking in the channel.
+
| Restricts changing the channel's topic to those with half-operator (+h) or higher. '''NOTE:''' This mode is usually locked on by default, via ChanServ's mode locking, and thus cannot usually be unset.
 
|-
 
|-
| '''i'''
+
| '''u'''
| Invite only
+
| Auditorium
| Prevent anyone from joining the channel unless they have received an invitation from someone inside with <code>/invite <em>nick</em></code>. If a user matches the <code>+I</code> list, they are able to join the channel without being invited.
+
| Changes the channel into an "auditorium" - you can only see yourself, and cannot see joins, parts, quits, or kicks in the channel. It is intended to save bandwidth. '''Note that Xertion network staff can still see all activity in an auditorium channel.'''
 
|-
 
|-
| '''G'''
+
| '''z'''
| Censorship
+
| SSL only
| Blocks words sent to channel set by the server, changing certain words to (censored). See: [[Censorship list]]
+
| Users can only join if they are connected using SSL. '''NOTE: This mode cannot be set unless existing users in the channel are already connected using SSL!'''
 +
|-
 +
| '''A'''
 +
| Allow Invite
 +
| Permits any user to use <code>/invite</code> to invite users to the channel even if they don't have half-operator (+h) or above.
 
|-
 
|-
 
| '''B'''
 
| '''B'''
Line 53: Line 68:
 
| '''C'''
 
| '''C'''
 
| No CTCPs
 
| No CTCPs
| Prevent any user from sending CTCPs to the channel. Exception: CTCP ACTION (<code>/me</code>) is still permitted.
+
| Blocks users from sending CTCPs to the channel. This does NOT block /me however (CTCP ACTION).
 +
|-
 +
| '''D'''
 +
| Delayed Join
 +
| Joins from users are not shown until they speak in the channel.
 +
|-
 +
| '''G'''
 +
| Censor
 +
| Filters predefined words from channel messages, replacing them with "(censored)". For a list of words filtered by this mode, see [[Censorship list]].
 
|-
 
|-
 
| '''M'''
 
| '''M'''
 
| Mute unregistered
 
| Mute unregistered
| Prevent any user from talking in the channel if they haven't identified to their nick through NickServ.
+
| Prevents unregistered and/or unidentified users from speaking in the channel. A user will need to either register or identify to NickServ in order to talk.
 
|-
 
|-
| '''T'''
+
| '''N'''
| No notices
+
| No nick changes
| Prevent users from sending channel notices through <code>/notice</code>
+
| Blocks nickname changes from any user that does not have at least voice (+v) or higher.
 +
|-
 +
| '''Q'''
 +
| Restricted Kick
 +
| Disallows use of the <code>/kick</code> command in the channel. The only way to kick a user with this set is by way of ChanServ's KICK and/or BAN commands.
 
|-
 
|-
 
| '''R'''
 
| '''R'''
 
| Registered only
 
| Registered only
| Prevent anyone from joining the channel if they haven't identified to NickServ.
+
| Users must be registered with AND identified to NickServ to join. Users must be using a nickname on their account's group list in order to join - identifying to an account from an unregistered nickname will NOT suffice.
|-
+
| '''z'''
+
| SSL only
+
| Prevent anyone from joining the channel unless they are connected via SSL.  
+
 
|-
 
|-
 
| '''S'''
 
| '''S'''
 
| Strip Colors
 
| Strip Colors
| Strips all colored, underlined and bold text from the message being sent to the channel, but still lets the message pass.
+
| Strips all control codes from incoming messages to the channel, but does not block the message. Less restrictive than +c.
 
|-
 
|-
| '''O'''
+
| '''T'''
| Oper only
+
| No notices
| ''Only IRC Operators may set this mode.'' Prevent users from joining the channel unless they are an IRC Operator.  
+
| Blocks users from sending notices to the channel using <code>/notice</code>.
|-
+
| '''N'''
+
| No nick changes
+
| Prevents any user without voice or higher from changing their nickname.
+
|-
+
| '''Q'''
+
| Restricted Kick
+
| Only U:Lined servers and their users can kick. (i.e. services only)
+
|-
+
 
|}
 
|}
  
==Channel Modes Involving a Parameter==
+
==Channel Modes requiring a parameter==
 +
To set these modes, you need to provide one or more parameters to set it. Most modes do not require the same parameters to be unset. The exception is channel mode +k, which also requires a parameter to unset as well.
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 99: Line 114:
 
| '''k'''
 
| '''k'''
 
| Key
 
| Key
| This is what most would refer as a 'channel password'. It'll prevent users without the channel key to join it. If you have the password, you can join it with <code>/join <em>#channel</em> <em>key</em></code>.
+
| Sets a key on a channel. You can think of it as a password to enter the channel. If you have the password, you can join the channel like so: <code>/join <em>#channel</em> <em>key</em></code>.
  
 
To set this mode:
 
To set this mode:
  
 
<code>/mode <em>#channel</em> +k <em>key</em></code>
 
<code>/mode <em>#channel</em> +k <em>key</em></code>
 +
 +
'''NOTE:''' You must specify the SAME key you used when setting this mode, in order to unset it.
 +
|-
 +
| '''F'''
 +
| Nick Flood
 +
| Restricts the number of nickname changes in a channel to x changes every y seconds.
 +
 +
Example: <code>/mode #channel +F 2:20</code> limits the number of nickname changes in the channel to 2 changes every 20 seconds.
 +
|-
 +
| '''J'''
 +
| Delay Rejoin
 +
| Delays a user from automatically rejoining for the specified number of seconds after being kicked from the channel.
 +
 +
Example: <code>/mode #channel +J 5</code> blocks users from rejoining the channel for 5 seconds after being kicked.
 +
|-
 +
| '''L'''
 +
| Redirect/Link
 +
| (used with channel mode '''l''') When channel is full as per channel mode '''l''', redirects users to the specified channel.
 +
 +
Example: <code>/mode #channel +lL 30 #channel2</code> will redirect users to #channel2 when they try to /join #channel and it already has 30 users.
 +
|-
 +
| '''d'''
 +
| Delay Message
 +
| Blocks messages from users until they've been joined to the channel for the given number of seconds.
 +
 +
Example: <code>/mode #channel +j 5</code> will block messages from users until they have been in #channel for at least 5 seconds.
 +
|-
 +
| '''f'''
 +
| Message Flood
 +
| Kicks and optionally bans users who exceed the given number of messages in a given number of seconds.
 +
 +
Example 1: <code>/mode #channel +f 5:3</code> will kick any user who sends 5 or more messages to the channel within 3 seconds.
 +
Example 2: <code>/mode #channel +f *5:3</code> will kick '''and''' ban any user who sends 5 or more messages to the channel within 3 seconds. Note the use of the asterisk before the first number, this indicates that the user should be banned as well as kicked.
 +
|-
 +
| '''j'''
 +
| Join Flood
 +
| Blocks joins to the channel for 60 seconds if joins exceed a specified number within a given number of seconds.
 +
 +
Example: <code>/mode #channel +j 10:7</code> will temporarily block new joins to the channel for 60 seconds if the number of joins exceeds 10 joins in 7 seconds.
 +
 +
'''NOTE:''' The join lockout of 60 seconds can be cancelled by simply removing and resetting channel mode +j, which has the effect of resetting the lockout timer.
 
|-
 
|-
 
| '''l'''
 
| '''l'''
 
| Limit
 
| Limit
| If you have this set to a certain number, people will not be able to join the channel if the user count reach the LIMIT.
+
| Sets the maximum number of users permitted in the channel to the given number.
  
<code>/mode <em>#channel</em> +l <em>limit</em></code>.
+
Example: <code>/mode #channel +l 30</code> will limit the number of users in #channel at any given time to 30, all other users will not be able to join the channel.
 
|-
 
|-
 
| '''v'''
 
| '''v'''
 
| Voice
 
| Voice
| By giving this user mode to someone, you will allow them to talk if the channel is muted through CMODE +m.
+
| Gives the specified user voice - they can speak when channel mode +m is set, and are not affected by restrictive extended bans.
 
+
<code>/mode <em>#channel</em> +vvvv <em>nick1</em> <em>nick2</em> <em>nick3</em> <em>nick4</em></code>
+
 
|-
 
|-
 
| '''h'''
 
| '''h'''
| Half-op
+
| Half-operator
| This will allow a user to set most of the channel modes and they will be able to kick users who have voice (+v) or nothing in the channel. However, they are unable to kick each other if CMODE +p is set. Half-ops are unable to kick +o users (and higher) regardless of channel modes.
+
| Gives the specified user half-operator - they are able to toggle select channel modes, can kick users who have voice (+v) or below, can give voice to others, and can change the channel's topic. They cannot kick or remove the modes of channel operators (+o) and above, and they cannot toggle channel modes reserved for channel operators and up.
 
+
<code>/mode <em>#channel</em> +hhhh <em>nick1</em> <em>nick2</em> <em>nick3</em> <em>nick4</em></code>
+
 
|-
 
|-
 
| '''o'''
 
| '''o'''
| Op
+
| Channel operator
| This gives the user control over half-opped, voiced, and regular users. An opped user may op other users, set any mode except +q and +a, and remove ops from whoever they want. Opped users cannot perform actions against owners, or protected users.  
+
| Gives the specified user channel operator - they can toggle most channel modes except +a and +q, can kick other opped users and below, and can grant or remove chanop or halfop from others. Chanops cannot perform actions on channel owners or channel administrators.
 
+
<code>/mode <em>#channel</em> +oooo <em>nick1</em> <em>nick2</em> <em>nick3</em> <em>nick4</em></code>
+
 
|-
 
|-
 
| '''a'''
 
| '''a'''
 
| Protected/Admin
 
| Protected/Admin
| This gives the user control over opped, half-opped, voiced, and regular users. A protected/admin user may op other users, set any mode except +q and +a, and remove ops from whoever they want. Protected/admin users cannot perform actions against owners or other protected users.
+
| Gives the specified user channel admin - the same access rights as channel operators apply here as well, with the exception that protected/admin users can kick other protected/admin users. Protected/admin users cannot take actions against channel owners.
 
+
<code>/mode <em>#channel</em> +aaaa <em>nick1</em> <em>nick2</em> <em>nick3</em> <em>nick4</em></code>
+
 
|-
 
|-
 
| '''q'''
 
| '''q'''
 
| Owner
 
| Owner
| This gives the user full control over the channel. A owner may owner/protect/op other users, set any mode, and remove owner/protect/ops from whoever they want.
+
| Gives the specified user channel owner - this grants full control over virtually all aspects of the channel, including the ability to toggle any channel mode (except those only settable by IRC operators), kick anyone, and set/unset +v/+h/+o/+a/+q on other users.
<code>/mode <em>#channel</em> +qqqq <em>nick1</em> <em>nick2</em> <em>nick3</em> <em>nick4</em></code>
+
|}
 +
 
 +
 
 +
== List-type Channel Modes ==
 +
These modes store parameters in a list. Those that take a nick!user@host mask can also make use of [Channel_management#Extended_Bans].
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Flag
 +
! Title
 +
! Description
 
|-
 
|-
 
| '''b'''
 
| '''b'''
| Ban
+
| Channel ban
| This will prevent a user from entering the channel, based on a nick!ident@host match. Alternatively, if the user is already in the channel, this mode will mute them if they have no status.
+
| Prevents users matching a nick!user@host mask from joining, or prevents matching users from speaking in the channel.
  
<code>/mode <em>#channel</em> +b <em>nick!ident@host</em></code>
+
Examples:
 +
* <code>/mode #channel +b LameUser!*@*</code> will ban all users with the nickname LameUser.
 +
* <code>/mode #channel +b *!*@*.aol.com</code> will ban any user whose host portion (the part after the @) ends in "aol.com"
 +
|-
 +
| '''e'''
 +
| Channel exemption
 +
| Exempts users matching a nick!user@host mask from a matching ban.
  
 
Examples:
 
Examples:
* <code>/mode #moo +b Romney!*@*</code> will ban all users using the nick Romney.
+
* <code>/mode #channel +e GoodUser!*@*</code> will allow any user with the nickname Gooduser to join even if they otherwise match an existing ban (+b)
* <code>/mode #moo +b *!*@*.aol.com</code> will ban all of AOL users.
+
* <code>/mode #channel +e *!*@*.net</code> permits any user whose host portion ends in ".net" even if they match an existing ban (+b)
 +
|-
 +
| '''I'''
 +
| Invite exemption (invex)
 +
| Allows a user matching a nick!user@host mask to join an invite-only (+i) channel without having to be invited with <code>/invite</code>.
 
|-
 
|-
 
| '''g'''
 
| '''g'''
| Channel specific Censorship
+
| Channel censor
| This is similar to +G, but in this case the word block is channel specific instead of server based. It will block the message sent entirely if the word blocked by this mode is used.  
+
| Filters messages containing the specified text anywhere in the message from being sent to the channel. Unlike +G, the message is completely blocked if it contains the text anywhere in the message. Wildcards are accepted but not usually needed. Example: <code>/mode #channel +g poo</code> will block all messages that contain the word 'poo' anywhere in the message, even if it in the middle of a word.
  
<code>/mode <em>#channel</em> +g <em>*fuck*</em></code>
+
You can view a channel's censor list by typing <code>/mode #channel +g</code> without any parameters.
 
+
To view a channels +g block list, <code>/mode <em>#channel</em> +g</code>
+
 
|-
 
|-
| '''e'''
+
| '''w'''
| Exempt
+
| Channel ACL
| This will allow a user to join a channel even if they are banned (+b), based on a nick!ident@host match.
+
| Grants users matching masks the specified mode. Some [http://wiki.xertion.org/w/Channel_management#Extended_Bans ExtBans] can be used here. Example: <code>/mode #channel +w v:R:BDRyan</code> will grant voice (+v) to anyone identified to the registered account BDRyan.
  
<code>/mode <em>#channel</em> +eee <em>nick1!ident1@host1</em> <em>nick2!ident2@host2</em> <em>nick3!ident3@host3</em></code>
+
You can view a channel's internal access list by typing <code>/mode #channel +w</code> without any parameters.
 
+
Examples:
+
* <code>/mode #moo +e Jacob!*@*</code> will allow 'Jacob' to join the channel even if he is banned or the channel is set to +i.
+
* <code>/mode #moo +e *!*@*.com</code> will allow anyone connecting through a host ending on .com to join the channel for the same reasons as Jacob.
+
 
|-
 
|-
| '''I'''
+
| '''X'''
| Invite Exempt
+
| Exempt Chanops
| This will allow a user to join an invite-only (+i) channel, based on a nick!user@host match.
+
| Exempts users with specific access from specific channel restrictions, for more information see [[ExemptChanops]]
  
<code>/mode <em>#channel</em> +IIII <em>nick1!ident1@host1</em> <em>nick2!ident2@host2</em> <em>nick3!ident3@host3</em> <em>nick4!ident4@host4</em></code>
+
'''NOTE:''' Despite the name "exempt chanops" this mode can, in fact, be used to apply the exemption to any specific level of channel access.
 
|}
 
|}
  
 +
== Restricted Channel Modes ==
 +
'''These modes can be set/unset ONLY by either an IRC Operator and/or network Services, not by normal users!'''
 +
{| class="wikitable"
 +
|-
 +
! Flag
 +
! Title
 +
! Description
 +
|-
 +
| '''O'''
 +
| Oper Only
 +
| Only IRC Operators can join the channel
 +
|-
 +
| '''P'''
 +
| Permanent
 +
| Marks the channel as permanent. Permanent channels will remain open even when all users have left, thereby preserving things like modes, ban lists, and the topic.
 +
|-
 +
| '''Y'''
 +
| Oper Prefix
 +
| Marks the user as an IRC Operator in the channel with a ! prefix.
 +
|-
 +
| '''r'''
 +
| Registered Channel
 +
| Marks the channel as a registered channel. '''Only network Services can set/unset this.'''
 +
|}
  
 
==See also==
 
==See also==

Revision as of 10:30, 3 January 2017

How to change a channel mode

To change a mode on a channel, use the /mode command with the channel mode you wish to change. For example:

To set +c on the channel #example:

/mode #example +c

Or to unset it:

/mode #example -c

NOTE: Some channels make use of ChanServ to lock certain modes from being unset (or even set, in some cases). By default, channel modes +n and +t are locked on all newly registered channels so they usually cannot be unset.


Standalone Channel Modes

These channel modes don't have any parameters, you simply set or unset them.

Flag Title Description
c No control codes Blocks messages containing control codes (color, bold, underline, etc) from being sent to the channel
i Invite only Makes the channel invite-only. Users must be invited by a channel operator in the channel with the /invite command in order to join. Users who match an existing invex (+I) mask may join without being invited.
m Moderated Mutes the channel - users who do not have at least voice (+v) or higher cannot talk in the channel.
n No external messages Blocks external messages to the channel from outside the channel. In other words, you cannot /msg #channel text if you are not in #channel itself, with this mode set. NOTE: This mode is usually locked on by default, via ChanServ's mode locking, and thus cannot usually be unset.
p Private Marks the channel as private - the channel will not be shown in any user's /whois output, and will show up as * in /LIST. Note that Xertion network staff can still see the channel normally in /list and /whois even with this set
s Secret Marks the channel as secret - the channel will not be shown in any user's /whois output, nor will it be shown in /LIST. Note that Xertion network staff can still see the channel in /list and /whois even with this set
t (Half)Ops topic Restricts changing the channel's topic to those with half-operator (+h) or higher. NOTE: This mode is usually locked on by default, via ChanServ's mode locking, and thus cannot usually be unset.
u Auditorium Changes the channel into an "auditorium" - you can only see yourself, and cannot see joins, parts, quits, or kicks in the channel. It is intended to save bandwidth. Note that Xertion network staff can still see all activity in an auditorium channel.
z SSL only Users can only join if they are connected using SSL. NOTE: This mode cannot be set unless existing users in the channel are already connected using SSL!
A Allow Invite Permits any user to use /invite to invite users to the channel even if they don't have half-operator (+h) or above.
B Block Caps Blocks messages with too many capital letters, as determined by the network configuration
C No CTCPs Blocks users from sending CTCPs to the channel. This does NOT block /me however (CTCP ACTION).
D Delayed Join Joins from users are not shown until they speak in the channel.
G Censor Filters predefined words from channel messages, replacing them with "(censored)". For a list of words filtered by this mode, see Censorship list.
M Mute unregistered Prevents unregistered and/or unidentified users from speaking in the channel. A user will need to either register or identify to NickServ in order to talk.
N No nick changes Blocks nickname changes from any user that does not have at least voice (+v) or higher.
Q Restricted Kick Disallows use of the /kick command in the channel. The only way to kick a user with this set is by way of ChanServ's KICK and/or BAN commands.
R Registered only Users must be registered with AND identified to NickServ to join. Users must be using a nickname on their account's group list in order to join - identifying to an account from an unregistered nickname will NOT suffice.
S Strip Colors Strips all control codes from incoming messages to the channel, but does not block the message. Less restrictive than +c.
T No notices Blocks users from sending notices to the channel using /notice.

Channel Modes requiring a parameter

To set these modes, you need to provide one or more parameters to set it. Most modes do not require the same parameters to be unset. The exception is channel mode +k, which also requires a parameter to unset as well.

Flag Title Description
k Key Sets a key on a channel. You can think of it as a password to enter the channel. If you have the password, you can join the channel like so: /join #channel key.

To set this mode:

/mode #channel +k key

NOTE: You must specify the SAME key you used when setting this mode, in order to unset it.

F Nick Flood Restricts the number of nickname changes in a channel to x changes every y seconds.

Example: /mode #channel +F 2:20 limits the number of nickname changes in the channel to 2 changes every 20 seconds.

J Delay Rejoin Delays a user from automatically rejoining for the specified number of seconds after being kicked from the channel.

Example: /mode #channel +J 5 blocks users from rejoining the channel for 5 seconds after being kicked.

L Redirect/Link (used with channel mode l) When channel is full as per channel mode l, redirects users to the specified channel.

Example: /mode #channel +lL 30 #channel2 will redirect users to #channel2 when they try to /join #channel and it already has 30 users.

d Delay Message Blocks messages from users until they've been joined to the channel for the given number of seconds.

Example: /mode #channel +j 5 will block messages from users until they have been in #channel for at least 5 seconds.

f Message Flood Kicks and optionally bans users who exceed the given number of messages in a given number of seconds.

Example 1: /mode #channel +f 5:3 will kick any user who sends 5 or more messages to the channel within 3 seconds. Example 2: /mode #channel +f *5:3 will kick and ban any user who sends 5 or more messages to the channel within 3 seconds. Note the use of the asterisk before the first number, this indicates that the user should be banned as well as kicked.

j Join Flood Blocks joins to the channel for 60 seconds if joins exceed a specified number within a given number of seconds.

Example: /mode #channel +j 10:7 will temporarily block new joins to the channel for 60 seconds if the number of joins exceeds 10 joins in 7 seconds.

NOTE: The join lockout of 60 seconds can be cancelled by simply removing and resetting channel mode +j, which has the effect of resetting the lockout timer.

l Limit Sets the maximum number of users permitted in the channel to the given number.

Example: /mode #channel +l 30 will limit the number of users in #channel at any given time to 30, all other users will not be able to join the channel.

v Voice Gives the specified user voice - they can speak when channel mode +m is set, and are not affected by restrictive extended bans.
h Half-operator Gives the specified user half-operator - they are able to toggle select channel modes, can kick users who have voice (+v) or below, can give voice to others, and can change the channel's topic. They cannot kick or remove the modes of channel operators (+o) and above, and they cannot toggle channel modes reserved for channel operators and up.
o Channel operator Gives the specified user channel operator - they can toggle most channel modes except +a and +q, can kick other opped users and below, and can grant or remove chanop or halfop from others. Chanops cannot perform actions on channel owners or channel administrators.
a Protected/Admin Gives the specified user channel admin - the same access rights as channel operators apply here as well, with the exception that protected/admin users can kick other protected/admin users. Protected/admin users cannot take actions against channel owners.
q Owner Gives the specified user channel owner - this grants full control over virtually all aspects of the channel, including the ability to toggle any channel mode (except those only settable by IRC operators), kick anyone, and set/unset +v/+h/+o/+a/+q on other users.


List-type Channel Modes

These modes store parameters in a list. Those that take a nick!user@host mask can also make use of [Channel_management#Extended_Bans].

Flag Title Description
b Channel ban Prevents users matching a nick!user@host mask from joining, or prevents matching users from speaking in the channel.

Examples:

  • /mode #channel +b LameUser!*@* will ban all users with the nickname LameUser.
  • /mode #channel +b *!*@*.aol.com will ban any user whose host portion (the part after the @) ends in "aol.com"
e Channel exemption Exempts users matching a nick!user@host mask from a matching ban.

Examples:

  • /mode #channel +e GoodUser!*@* will allow any user with the nickname Gooduser to join even if they otherwise match an existing ban (+b)
  • /mode #channel +e *!*@*.net permits any user whose host portion ends in ".net" even if they match an existing ban (+b)
I Invite exemption (invex) Allows a user matching a nick!user@host mask to join an invite-only (+i) channel without having to be invited with /invite.
g Channel censor Filters messages containing the specified text anywhere in the message from being sent to the channel. Unlike +G, the message is completely blocked if it contains the text anywhere in the message. Wildcards are accepted but not usually needed. Example: /mode #channel +g poo will block all messages that contain the word 'poo' anywhere in the message, even if it in the middle of a word.

You can view a channel's censor list by typing /mode #channel +g without any parameters.

w Channel ACL Grants users matching masks the specified mode. Some ExtBans can be used here. Example: /mode #channel +w v:R:BDRyan will grant voice (+v) to anyone identified to the registered account BDRyan.

You can view a channel's internal access list by typing /mode #channel +w without any parameters.

X Exempt Chanops Exempts users with specific access from specific channel restrictions, for more information see ExemptChanops

NOTE: Despite the name "exempt chanops" this mode can, in fact, be used to apply the exemption to any specific level of channel access.

Restricted Channel Modes

These modes can be set/unset ONLY by either an IRC Operator and/or network Services, not by normal users!

Flag Title Description
O Oper Only Only IRC Operators can join the channel
P Permanent Marks the channel as permanent. Permanent channels will remain open even when all users have left, thereby preserving things like modes, ban lists, and the topic.
Y Oper Prefix Marks the user as an IRC Operator in the channel with a ! prefix.
r Registered Channel Marks the channel as a registered channel. Only network Services can set/unset this.

See also