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> @ChanOps Bans users matching <mask> from joining the channel.
inviteonly i Switch None @ChanOps Prevents users from joining the channel without an invite.
key k ParamBoth <key> @ChanOps Prevents users from joining the channel who have not specified the <key> password.
limit l Parameter <count> @ChanOps Allows no more than <count> users to join the channel.
moderated m Switch None @ChanOps Prevents users without a prefix rank from messaging the channel.
noextmsg n Switch None @ChanOps Prevents users who are not in the channel from messaging the channel.
op o Prefix <nick> @ChanOps Grants channel operator status to <nick>.
private p Switch None @ChanOps 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 @ChanOps Hides the channel in /WHOIS and /LIST from people who are not a member.
topiclock t Switch None @ChanOps Prevents non-channel operators from changing the channel topic.
voice v Prefix <nick> @ChanOps 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 @ChanOps allowinvite
anticaps B Parameter <ban|block|mute|kick|kickban>:<minlen>:<percent> @ChanOps anticaps
noctcp C Switch None @ChanOps noctcp
blockcolor c Switch None @ChanOps blockcolor
delaymsg d Parameter <seconds> @ChanOps delaymsg
delayjoin D Switch None @ChanOps delayjoin
repeat E Parameter [~|*]<lines>:<sec>[:<difference>][:<backlog>] @ChanOps repeat
banexception e List <mask> @ChanOps banexception
flood f Parameter (*)<lines>:<seconds> @ChanOps messageflood
nickflood F Parameter <changes>:<seconds> @ChanOps nickflood
filter g List <glob> @ChanOps chanfilter
history H Parameter <count>:<period> @ChanOps chanhistory
invex I List <mask> @ChanOps inviteexception
kicknorejoin J Parameter <seconds> @ChanOps kicknorejoin
joinflood j Parameter <joins>:<seconds> @ChanOps joinflood
noknock K Switch None @ChanOps knock
redirect L Parameter <channel> @ChanOps redirect
regmoderated M Switch None @ChanOps services_account
nonick N Switch None @ChanOps nonicks
operonly O Switch None IRC Opers operchans
permanent P Switch None IRC Opers permchannels
nokick Q Switch None @ChanOps nokicks
c_registered r Switch None ChanServ services_account
reginvite R Switch None @ChanOps services_account
stripcolor S Switch None @ChanOps stripcolor
nonotice T Switch None @ChanOps nonotice
auditorium u Switch None @ChanOps auditorium
autoop w List <status>:<mask> @ChanOps autoop
exemptchanops X List <restriction>:<mode> @ChanOps exemptchanops
official-join Y Prefix <nick> IRC Opers ojoin
operprefix y Prefix <nick> IRC Opers operprefix
sslonly z Switch None @ChanOps sslmodes