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