Channel Modes
This page documents channel modes. For user modes see the user mode page.
InspIRCd supports five types of mode:
| Type | Parameter when adding? | Parameter when removing? | Can be set multiple times? | Description |
|---|---|---|---|---|
| Switch | No | No | No | Toggles the behaviour of a feature on a channel or user. |
| Parameter | Yes | No | No | Enables and configures the behaviour of a feature on a channel or user. |
| ParamBoth | Yes | Yes | No | The same as a Parameter mode only the parameter must be specified to remove it. |
| Prefix | Yes; channel member nickname | Yes; channel member nickname | Yes; once per channel member | Grants/revokes a status rank to the user specified in the parameter. |
| List | Yes | Yes | Yes; up to the maximum list size | Adds/removes entries from a list. |
Core
Core channel modes are channel modes which are always available. For details on the channel modes provided by modules, see the modules section below.
| Name | Character | Type | Parameter Syntax | Usable By | Description |
|---|---|---|---|---|---|
| ban | b | List | <mask> | Channel operators | Bans users matching <mask> from joining the channel. |
| inviteonly | i | Switch | None | Channel operators | Prevents users from joining the channel without an invite. |
| key | k | ParamBoth | <key> | Channel operators | Prevents users from joining the channel who have not specified the <key> password. |
| limit | l | Parameter | <count> | Channel operators | Allows no more than <count> users to join the channel. |
| moderated | m | Switch | None | Channel operators | Prevents users without a prefix rank from messaging the channel. |
| noextmsg | n | Switch | None | Channel operators | Prevents users who are not in the channel from messaging the channel. |
| op | o | Prefix | <nick> | Channel operators | Grants channel operator status to <nick>. |
| private | p | Switch | None | Channel operators | Hides the channel in /WHOIS from people who are not a member. You probably want channel mode s (secret) rather than this. |
| secret | s | Switch | None | Channel operators | Hides the channel in /WHOIS and /LIST from people who are not a member. |
| topiclock | t | Switch | None | Channel operators | Prevents non-channel operators from changing the channel topic. |
| voice | v | Prefix | <nick> | Channel operators | Grants channel voice status to <nick>. |
Example Usage
Bans users matching *!*@example.com from joining #channel:
/MODE #channel +b *!*@example.com
Sets the channel key for #cheese to "cheddar":
/MODE #cheese +k cheddar
Removes the channel key for #cheese:
/MODE #cheese -k cheddar
Limits #channel to 100 users:
/MODE #channel +l 100
Grants channel operator status to Sadie in #channel:
/MODE #channel +o Sadie
Removes channel operator status from Sadie in #channel:
/MODE #channel -o Sadie
Grants channel voice status to Sadie in #channel:
/MODE #channel +v Sadie
Removes channel voice status from Sadie in #channel:
/MODE #channel -v Sadie
Modules
| Name | Character | Type | Parameter Syntax | Usable By | Module |
|---|---|---|---|---|---|
| allowinvite | A | Switch | None | Channel operators | allowinvite |
| blockcaps | B | Switch | None | Channel operators | blockcaps |
| anticaps | B | Parameter | {ban|block|mute|kick|kickban}:<minlen>:<percent> | Channel operators | anticaps |
| noctcp | C | Switch | None | Channel operators | noctcp |
| blockcolor | c | Switch | None | Channel operators | blockcolor |
| delaymsg | d | Parameter | <seconds> | Channel operators | delaymsg |
| delayjoin | D | Switch | None | Channel operators | delayjoin |
| repeat | E | Parameter | [~|*]<lines>:<sec>[:<difference>][:<backlog>] | Channel operators | repeat |
| banexception | e | List | <mask> | Channel operators | banexception |
| flood | f | Parameter | [*]<lines>:<seconds> | Channel operators | messageflood |
| nickflood | F | Parameter | <changes>:<seconds> | Channel operators | nickflood |
| censor | G | Switch | None | Channel operators | censor |
| filter | g | List | <glob> | Channel operators | chanfilter |
| history | H | Parameter | <count>:<period> | Channel operators | chanhistory |
| invex | I | List | <mask> | Channel operators | inviteexception |
| kicknorejoin | J | Parameter | <seconds> | Channel operators | kicknorejoin |
| joinflood | j | Parameter | <joins>:<seconds> | Channel operators | joinflood |
| noknock | K | Switch | None | Channel operators | knock |
| redirect | L | Parameter | <channel> | Channel operators | redirect |
| regmoderated | M | Switch | None | Channel operators | services_account |
| nonick | N | Switch | None | Channel operators | nonicks |
| operonly | O | Switch | None | Server operators | operchans |
| permanent | P | Switch | None | Server operators | permchannels |
| nokick | Q | Switch | None | Channel operators | nokicks |
| c_registered | r | Switch | None | Channel operators | services_account |
| reginvite | R | Switch | None | Channel operators | services_account |
| stripcolor | S | Switch | None | Channel operators | stripcolor |
| nonotice | T | Switch | None | Channel operators | nonotice |
| auditorium | u | Switch | None | Channel operators | auditorium |
| autoop | w | List | <status>:<mask> | Channel operators | autoop |
| exemptchanops | X | List | <restriction>:<mode> | Channel operators | exemptchanops |
| operprefix | y | Prefix | <nick> | Server operators | operprefix |
| official-join | Y | Prefix | <nick> | Server operators | ojoin |
| namebase | Z | List | <name>[=<value>] | Depends on the mode in <name> | namedmodes |
| sslonly | z | Switch | None | Channel operators | sslmodes |
Configuration-defined modes
Server administrators can also define custom prefix modes for channel privileges, such as channel modes q (founder), a (admin), or h (halfop), using the customprefix module.