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 |
blockcolor | c | Switch | None | Channel operators | blockcolor |
noctcp | C | Switch | None | Channel operators | noctcp |
delaymsg | d | Parameter | <seconds> | Channel operators | delaymsg |
delayjoin | D | Switch | None | Channel operators | delayjoin |
repeat | E | Parameter | [~|*]<lines>:<sec>[:<difference>][:<backlog>] {ban|block|mute|kick|kickban}:<lines>:<sec>[:<difference>][:<backlog>] | Channel operators | repeat |
banexception | e | List | <mask> | Channel operators | banexception |
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 |
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 |
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 | allowinvite |
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.