echoIRCd

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.

ModeNameDescription
bbanBan a matching nick!user@host or extban from the channel
eban exceptionExempt a matching mask from bans
Iinvite exceptionA matching mask may join a +i channel without an invite
gspamfilterPer-channel message word/glob filters (matches message text)
Xexemptchanops<restriction>:<rankchar> — exempt members at/above a rank from a named restriction
wautoop<prefixchar>:<hostmask> — auto-grant a status prefix on join

Type B — always take a parameter#

ModeNameDescription
kkeyChannel password required to join

Type C — parameter only when set#

ModeNameParamDescription
llimit<n>Maximum member count
fmessage flood[*]<lines>:<secs>Kick a user exceeding the rate; leading * also bans
jjoin flood<joins>:<secs>Lock new joins for 60s after the threshold
Fnick flood<changes>:<secs>Block nick changes for 60s after the threshold
Lredirect<#target>Send joiners to another channel when +l-full
Hhistory<lines>[:<secs>]Replay recent messages to joiners
Banticaps<1..100>Reject messages that are ≥ this % uppercase (ops exempt)
Jkicknorejoin<secs>Block rejoin for N seconds after a kick
ddelaymsg<secs>New members can't speak for N seconds (voiced+ exempt)
Knorepeat<n>Block a message identical to one of the sender's previous N lines

Type D — flag modes#

ModeNameDescription
AallowinviteAny member may use INVITE
CnoctcpBlock CTCPs to the channel
DdelayjoinHide joining members until they speak or gain a prefix
GcensorApply the network word censor to messages
MregmoderatedOnly registered (logged-in) users may speak
NnonickBlock nick changes by members while in the channel
OoperonlyOnly IRC operators may join (oper-set)
PpermanentChannel persists with no members (oper-set)
QnokicksBlock KICK in the channel
RregonlyOnly registered users may join
SstripcolorStrip mIRC colour/formatting from messages
TnonoticeBlock NOTICEs to the channel
UopmoderatedMessages from unprivileged users go only to ops
cnocolorBlock messages containing colour/formatting
iinviteonlyRequire an invite (or +I match) to join
mmoderatedOnly voiced+ may speak
nnoexternalBlock messages from users not in the channel
pprivatePrivate channel
rregisteredRegistered channel — set only by services
ssecretSecret channel (hidden from LIST/WHOIS)
ttopiclockOnly ops may change the topic
zsecureonlyOnly 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.

ModePrefixNameRank
y!oper prefix (network staff)60
q~owner / founder50
a&admin / protected40
o@op30
h%halfop20
v+voice10

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.