Channel modes

Channel modes allow you to change the way the channel reacts to certain events. All channels have modes +nt set on them by default. To change a channel mode, simply enter:

/mode #channel +m

Keep in mind that Channel Modes are case sensitive, +b and +B are NOT the same thing. All the time codes do not have to be in seconds, if you want to do a 10 minute ban, rather than using “600” for your time, you can do “10m”. Supported time codes are: 1y2m3w4d5h6m Below is a list of Channel Modes supported by our InspIRCd instance:

Core Modes


Mode Effect
b [n!u@h] Bans matching [n!u@h] from joining the channel. Also, be sure to check out the extbans.
i Sets the channel as Invite-Only
k [key] Sets a key on the channel.
l [number] Sets the channel limit to [number]. Once the limit is reached, no more users can join.
m Makes a channel “moderated”. Only +qaohv can talk. (You must have at least a voice to talk)
n Forces a user to be in the channel to PRIVMSG it. You probably want to keep this mode.
o [nick] Makes [nick] a channel Operator.
p Sets the channel as ‘private’. Will not show up in /LIST, but WILL still show up in your WHOIS.
s Sets the channel as ‘secret’. Will not show up in /LIST or /WHOIS, generally preferred over +p
t Forces a user to have +o or +h to change the topic. You probably want to keep this mode.
v [nick] Gives voice to [nick]. Voiced users have no real power, the only thing special about being voiced is being able to speak when mode +m is set.

Modular Modes


These modes are available through modules. Once the module is unloaded, modes will be removed, and their effects gone.

Mode Providing Module Effect
A m_allowinvite Allows all users in the channel to use /INVITE, even if they don’t have half-op or above.
a m_chanprotect Gives protected status to [nick]. This protects them from channel ops (+o); as of 2.0, this now implies +o.
B m_blockcaps Blocks messages with too many CAPITAL LETTERS. The amount of capital letters that is decided to be too many is set by the network configuration.
C m_noctcp Blocks CTCPs to the channel.
c m_blockcolor Blocks messages and notices with colour or formatting codes. Also see chanmode +S.
D m_delayjoin Users are not shown as joined until they speak.
d [sec] m_delaymsg Disallows a user from talking in the channel unless they’ve been joined for [num] seconds.
e [n!u@h] m_banexception Allows users matching [n!u@h] to bypass +b
F [num]:[sec] m_nickflood Allows only [num] nick changes every [sec] seconds in a channel.
f {*}[num]:[sec] m_messageflood Allows only [num] messages from a user every [sec] seconds. Exceeding this will enact a KICK on the offending user (or ban if the * is included.)
G m_censor Censors bad words from the channel based on network configuration. In MadIRC it replaces some strings with translations and other confusing stuff.
g [keyword] m_chanfilter Blocks messages matching [keyword]. Wild cards are usable here; however, must be done with wildcards surrounding the keyword as well. For example, if you wanted to filter [key*word], you would type: /mode +g \*key\*word\*
H [num:sec] m_chanhistory Displays the last [num] lines of chat to a user joining a channel; [sec] is the maximum time to keep lines in the history buffer. Designed so that the new user knows what the current topic of conversation is when joining the channel.
h [nick] m_halfop Makes [nick] a channel Half-Operator
I [n!u@h] m_inviteexception Allows users matching [n!u@h] to bypass +i
J [sec] m_kicknorejoin Disallows a user from joining [sec] seconds after being /KICK’d
j [num]:[sec] m_joinflood Allows only [num] users to join the channel in [sec] seconds.
K m_knock Disallows usage of /KNOCK on the channel.
L [channel] m_redirect When the channel is “full” (from channel mode “l”), forwards the user to [channel].
M m_services_account Users must be registered with services to speak in the channel.
N m_nonicks Disallows nick changes for users on the channel.
O m_operchans Marks a channel as an oper-only channel; only users who are oper’ed will be able to join these channels. As well, only opers may set channel mode +O.
P m_permchannels Marks the channel as “permanent”. Will not disappear when there are no users. Note that only opers can set this mode.
Q m_nokicks Disallows channel kicks, except Services / U-Lined clients.
q m_chanprotect Makes [nick] a channel owner. Protects from +a and +o; as of 2.0, this now implies +o.
R m_services_account Users must be registered with services to join the channel.
S m_stripcolor Strips colour or formatting codes from messages and notices to the channel. Note that the user sending the message will still see the colour and/or formatting. Also see chanmode +c.
T m_nonotice Blocks /NOTICEs to the channel.
X [flag]:[restriction] m_exemptchanops Allows the level of channel access required to bypass a given permission to be set. For example, setting +NX v:nonick will prevent people from changing nicks unless they are voiced (or opped/halfopped).
Y m_ojoin Marks a user as an oper in-channel with a definable prefix in front of their nick, when an oper issues the /ojoin #channel command. An oper with +Y cannot be kicked or deoped. Note that this mode is oper only.
Z m_namedmodes This module allows for the display and manipulation of channel modes via long-form mode names. For example, to set a channel ban with named modes: /MODE #channel +Z ban=foo!bar@baz
z m_sslmodes All users must be connected to the network via SSL to join the channel.

Source: https://wiki.inspircd.org/Channel_Modes