Channel modes
Set with MODE <#channel> +<mode> [param]. Modes are grouped by the four CHANMODES types the server
advertises in ISUPPORT: A (list modes, always take a parameter), B (always take a parameter),
C (parameter only when set), D (flag, no parameter). Membership prefixes are listed at
the end.
Type A — list modes#
Each takes a parameter; using it with no parameter queries the list.
| Mode | Name | Description |
b | ban | Ban a matching nick!user@host or extban from the channel |
e | ban exception | Exempt a matching mask from bans |
I | invite exception | A matching mask may join a +i channel without an invite |
g | spamfilter | Per-channel message word/glob filters (matches message text) |
X | exemptchanops | <restriction>:<rankchar> — exempt members at/above a rank from a named restriction |
w | autoop | <prefixchar>:<hostmask> — auto-grant a status prefix on join |
Type B — always take a parameter#
| Mode | Name | Description |
k | key | Channel password required to join |
Type C — parameter only when set#
| Mode | Name | Param | Description |
l | limit | <n> | Maximum member count |
f | message flood | [*]<lines>:<secs> | Kick a user exceeding the rate; leading * also bans |
j | join flood | <joins>:<secs> | Lock new joins for 60s after the threshold |
F | nick flood | <changes>:<secs> | Block nick changes for 60s after the threshold |
L | redirect | <#target> | Send joiners to another channel when +l-full |
H | history | <lines>[:<secs>] | Replay recent messages to joiners |
B | anticaps | <1..100> | Reject messages that are ≥ this % uppercase (ops exempt) |
J | kicknorejoin | <secs> | Block rejoin for N seconds after a kick |
d | delaymsg | <secs> | New members can't speak for N seconds (voiced+ exempt) |
K | norepeat | <n> | Block a message identical to one of the sender's previous N lines |
Type D — flag modes#
| Mode | Name | Description |
A | allowinvite | Any member may use INVITE |
C | noctcp | Block CTCPs to the channel |
D | delayjoin | Hide joining members until they speak or gain a prefix |
G | censor | Apply the network word censor to messages |
M | regmoderated | Only registered (logged-in) users may speak |
N | nonick | Block nick changes by members while in the channel |
O | operonly | Only IRC operators may join (oper-set) |
P | permanent | Channel persists with no members (oper-set) |
Q | nokicks | Block KICK in the channel |
R | regonly | Only registered users may join |
S | stripcolor | Strip mIRC colour/formatting from messages |
T | nonotice | Block NOTICEs to the channel |
U | opmoderated | Messages from unprivileged users go only to ops |
c | nocolor | Block messages containing colour/formatting |
i | inviteonly | Require an invite (or +I match) to join |
m | moderated | Only voiced+ may speak |
n | noexternal | Block messages from users not in the channel |
p | private | Private channel |
r | registered | Registered channel — set only by services |
s | secret | Secret channel (hidden from LIST/WHOIS) |
t | topiclock | Only ops may change the topic |
z | secureonly | Only TLS users may join (settable only when all members are on TLS) |
Prefix / status modes#
Take a nick parameter; ordered high → low rank. Sigils and the ranks required to grant/revoke are
configurable via customprefix.
| Mode | Prefix | Name | Rank |
y | ! | oper prefix (network staff) | 60 |
q | ~ | owner / founder | 50 |
a | & | admin / protected | 40 |
o | @ | op | 30 |
h | % | halfop | 20 |
v | + | voice | 10 |
The ! oper prefix only exists when operprefix or ojoin is enabled. Granting or removing a prefix
requires out-ranking both the configured set/unset rank and the target's current top rank.