Channel Modes & Bans
Channel modes can be very useful when you want to secure your channel, or make it a better experience for your channel users. Channel modes allow you to specify a precise rule set which will be implemented in your channel. These modes can be removed or altered by anyone with sufficient channel access, so be careful about who you give that access to!
Settable by Half-Ops
Syntax: /mode <#channel> +b <nick!ident@host>
Bans all users which match the ban mask from the specified channel. Those users will be unable to rejoin the channel until they are unbanned or made exempt from channel bans (see mode +e below). The mask may contain wildcards such as * and ?.
Example: /mode #somechannel +b TroubleMaker*!*@* (Bans all nicknames that begin with TroubleMaker)
BAN EXCEPTION (+e)
Syntax: /mode <#channel> +e <nick!ident@host>
Override a ban for users matching the supplied mask. Those users will be able to join the channel regardless of any bans that may affect them.
Example: /mode #somechannel +e JohnDoe!*@* (Allows anyone called JohnDoe to enter the channel regardless of any existing bans)
MODERATED CHANNEL (+m)
Syntax: /mode <#channel> +m
Only users with +voahq can speak in the channel
Settable by Channel Operators
Syntax: /mode <#channel> +c
Blocks all messages which contain client color codes from being delivered to the channel. All users in the channel are affected by this channel mode (including channel operators). A less intrusive method of removing colors from your channel is to use the +S mode detailed below.
Syntax: /mode <#channel> +f <parameters>
This command is used to configure a channel's flood protection to prevent spam and other undesirable channel behavior.
Syntax: /mode <#channel> +j <joins:sec>
Throttles the number of times a user can join the channel in a given number of seconds. This is helpful if your channel is being spammed by abusive users who join/part unnecessarily.
Example: /mode #somechannel +j 3:5 (Users can only join the channel 3 times every 5 seconds)
Syntax: /mode <#channel> +l <limit>
Sets a limit on the number of users who can join the channel at any one time. Users who try and join your channel after this limit is reached will be told the channel is full and (if used in conjunction with mode L (see below)) will be forwarded to another channel which you can specify.
Example: +l 25 (The channel can only hold 25 users)
Syntax: /mode <#channel> +p
Marks the channel as being private. This mode is widely considered obsolete. Consider using the SECRET mode (+s) below instead.
Syntax: /mode <#channel> +s
Marks the channel as being secret. Channel will not show up when the LIST command is issued and users will be unable to see the channel in your WHOIS unless they are already members of the channel.
Syntax: /mode <#channel> +z
The channel will only be accessible by users who are connecting via a secure connection (such as SSL).
Syntax: /mode <#channel> +C
This mode blocks users from sending CTCP messages to the channel. This is useful if you are getting "CTCP SOUND" or "CTCP PING" messages from users.
Syntax: /mode <#channel> +G
Filters text based on a bad word filter. Words matching the filter will be replaced with the text: <censored>.
Syntax: /mode <#channel> +M
All users who join the channel must have a registered nickname in order to message the channel. This can be overridden by channel operators by granting an unregistered user a voice (+v).
Example: /mode #test +M (Only registered nicknames can talk in #test)
/mode #test +v Bob (Allows the unregistered user "Bob" to still talk to the channel)
Syntax: /mode <#channel> +K
Setting this mode will block users from using /KNOCK to try and access a channel which is locked by a keyword. This is seldom used.
Syntax: /mode <#channel> +N
Users will be unable to change their nickname whilst in your channel if this channel mode is set.
Syntax: /mode <#channel> +Q
Channel operators are blocked from using the /KICK command in your channel. Please note, ChanServ is able to override this mode and therefore you should restrict access to the ChanServ KICK command if you wish to use +Q effectively.
Syntax: /mode <#channel> +R
Only registered nicknames are be able to join your channel when this mode is set.
Syntax: /mode <#channel> +S
This channel mode will remove all client color codes from messages in your channel. Unlike NOCOLOUR (see above), messages which contain color codes will still be delivered to your channel, but their colors will be automatically removed.
Syntax: /mode <#channel> +T
This blocks users from sending NOTICE's to the channel.
Syntax: /mode <#channel> +V
This mode prevents users from sending channel invites to users outside the channel.
Settable by Channel Owners
Syntax: /mode <#channel> +L <#channel2>
When the channel is full and the user limit is reached (see LIMIT above), users will be automatically redirected to #channel2.
Syntax: /mode <#channel> +u
Sets the channel into auditorium mode. When you join the channel, /WHO will only list the channel operators and you. This makes it appear that only the channel operators are in the channel. This could be effective in an online-interview situation or when used in conjunction with a broadcasting bot.
Settable by Services/IRCOps
This command can only be issued by a u-lined services server. It marks the channel as being registered. The default services modes are outlined below.
This command can only be issued by an IRC Administrator. Only Server Administrators and Network Administrators can join the channel.
This command can only be issued by an IRC Operator. Only IRCops can join the channel.
Extended Ban Types
People matching this ban may still join but will be unable to speak
Example: /mode <#channel> +b ~q:*!*@blah.com
People matching this ban cannot change their nickname unless they have +v or higher.
Example: /mode <#channel> +b ~n:*!*@*.aol.com
If the user is in the specified channel then they will be unable to join. Optionally a prefix can also be specified (+ % @ & ~) to match users who have that mode (or higher) on the specified channel.
Example: /mode <#channel> +b ~c:#lamers /mode <#channel> +e ~c:@#trusted
If the realname of a user matches this then they are unable to join.
NOTE: an underscore (_) matches both a space ( ) and an underscore (_).
Example: /mode <#channel> +b ~r:*Stupid_bot_script*