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 |
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 |
banexception | e | List | <mask> | Channel operators | banexception |
repeat | E | Parameter | [~|*]<lines>:<sec>[:<difference>][:<backlog>] {ban|block|mute|kick|kickban}:<lines>:<sec>[:<difference>][:<backlog>] | Channel operators | repeat |
nickflood | F | Parameter | <changes>:<seconds> | Channel operators | nickflood |
flood | f | Parameter | [*]<lines>:<seconds> {ban|block|mute|kick|kickban}:<messages>:<duration> | Channel operators | messageflood |
filter | g | List | <glob> | Channel operators | chanfilter |
history | H | Parameter | <count>:<period> | Channel operators | chanhistory |
invex | I | List | <mask> | Channel operators | inviteexception |
joinflood | j | Parameter | <joins>:<seconds> | Channel operators | joinflood |
kicknorejoin | J | Parameter | <seconds> | Channel operators | kicknorejoin |
noknock | K | Switch | None | Channel operators | knock |
redirect | L | Parameter | <channel> | Channel operators | redirect |
regmoderated | M | Switch | None | Channel operators | 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 |
reginvite | R | Switch | None | Channel operators | account |
c_registered | r | Switch | None | Channel operators | services |
stripcolor | S | Switch | None | Channel operators | stripcolor |
nonotice | T | Switch | None | Channel operators | nonotice |
opmoderated | U | Switch | None | Channel operators | opmoderated |
auditorium | u | Switch | None | Channel operators | auditorium |
autoop | w | List | <status>:<mask> | Channel operators | autoop |
exemptchanops | X | List | <restriction>:<mode> | Channel operators | exemptchanops |
official-join | Y | Prefix | <nick> | Server operators | ojoin |
operprefix | y | Prefix | <nick> | Server operators | operprefix |
sslonly | z | Switch | None | Channel operators | sslmodes |
namebase | Z | List | <name>[=<value>] | Depends on the mode in <name> | namedmodes |
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.