From IRC Wiki
Jump to: navigation, search
This article is a stub, you can help by contributing more information and citing good sources. :)
Allows wiki administrators to add free-form widgets to the wiki by editing pages within the Widget namespace. Community-contributed widgets can be found on

Charybdis is a reference implementation of the IRCv3.1 server component.
It is meant to be used with an IRCv3-capable services implementation such as Atheme or Anope.
Charybdis was forked from Ratbox by the Atheme Project


User Modes

Mode Description
+i Designates this client 'invisible'.
+g "caller id" mode only allow accept clients to message you
+w Can see oper and server wallops.
+h Has a cloaked host. May be +x depending on cloaking module
+o Designates this client is an IRC Operator.
+a Is marked as a server admin in whois.
+l Can see oper locops (local wallops).
+s Can see server notices (see /quote help snomask).
+z Can see operwalls.
+D Deaf - ignores all channel messages.
+Q Prevents you from being affected by channel forwarding.
+R Prevents unidentified users that you have not accepted from messaging you.
+Z Is connected via SSL (cannot be set or unset).

Channel Modes

Mode Arguments Description
+n None No external messages. Only channel members may talk in the channel.
+t None Ops Topic. Only opped (+o) users may set the topic.
+s None Secret. Channel will not be shown in /whois and /list etc.
+p None Private. Disables /knock to the channel.
+m None Moderated. Only opped/voiced users may talk in channel.
+i None Invite only. Users need to be invited or match a +I to join the channel.
+r None Registered users only. Only users identified to services may join.
+c None No color. All markup (color, bold, underline, etc.) in messages is stripped.
+g None Free invite. Everyone may invite users. Significantly weakens +i control.
+z None Op moderated. Messages blocked by +m, +b and +q are instead sent to ops.
+L None Large ban list. Increase maximum number of +beIq entries. Only settable by opers.
+P None Permanent. Channel does not disappear when empty. Only settable by opers.
+F None Free target. Anyone may set forwards to this (otherwise ops are necessary).
+Q None Disable forward. Users cannot be forwarded to the channel (however, new forwards can still be set subject to +F).
+C None Disable CTCP. All CTCP messages to the channel, except ACTION,are disallowed.
+f #forwardtochan Forward. Forwards users who cannot join because of +i, +j, +l, or +r.
+j count:time (eg- /MODE #channel +j 5:10) Join throttle. Limits number of joins to the channel per time.
+k ChannelKey Key. Requires users to issue /join #channel KEY to join.
+l limit Limit. Impose a maximum number of LIMIT people in the channel.
+v nickname Voice. Allows a user to talk in a +m channel. Noted by +nick.
+o nickname Op. Allows a user full control over the channel.
+b nick!ident@hostmask Ban. Prevents a user from entering the channel, and from
+q nick!ident@host Quiet. Prevents a user from sending to the channel or changing nick.
+e nick!ident@host Exempt. Allows a user to join a channel and send to it even if they are banned (+b) or quieted (+q).
+I nick!ident@host Invite Exempt. Allows a user to join a +i channel without an invite.

Extended Bans

MODE <channel> <+|-><b|q|e|I> $[~]<type>[:<data>]
Extended bans (ban conditionals) allow different checks than the usual nick!user@host or nick!user@ip match to determine whether someone should be banned, quieted, exempted or invited.
Extended bans are of the form $[~]<type>[:<data>]. The <type> is one character (case insensitive) and determines the type of match. Most types allow or require an extra field <data>. If the tilde (~) is present, the result of the comparison will be negated, unless the ban is invalid in which case it will never match. Invalid bans are ones where is missing but required or where <data> is otherwise invalid as noted below.
Unless noted below, all types can be used with +b, +q, +e and +I.

extb Type Description
$a Matches all logged in users
$a:<mask> Matches users logged in with a username matching the mask (* and ? wildcards)
$c:<chan> Matches users who are on the given channel; this is only valid if the channel exists and is not +s or +p.
The ops of the channel the ban is on cannot necessarily see whether the user is in the target channel, so it should not influence whether they can join either.
$o Matches opers (most useful with +I)
$r:<mask> Matches users with a realname (gecos) matching the mask (* and ? wildcards); this can only be used with +b and +q
$s:<mask> matches users connected to a server matching the mask (* and ? wildcards); this can only be used with +b and +q
$j:<chan> matches users who are or are not banned from a specified channel
$x:<mask> Bans all users with matching nick!user@host#gecos
$z Matches all SSL users