InspIRCd v4 is still early in development!

If you use this branch you may experience crashes, weird behaviour, and unannounced breaking changes.

You probably want to use InspIRCd v3 instead.

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
flood f Parameter [*]<lines>:<seconds>
{ban|block|mute|kick|kickban}:<messages>:<duration>
Channel operators messageflood
nickflood F Parameter <changes>:<seconds> Channel operators nickflood
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 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
reginvite R Switch None Channel operators account
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
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.