Tip of the day: Check out Special users on how to give trusted users/bots more rights without making them IRCOp.

Channel modes

From UnrealIRCd documentation wiki
Jump to navigation Jump to search
This page contains changes which are not marked for translation.
Other languages:

These are all channel modes that can be set. Use the command: MODE #channel +modeshere.

Normally you need channel operator status (+o, or some other level such as +h/+a/+q) if you want to change channel modes. However, IRCOp's with OperOverride privileges may bypass these restrictions. And similarly for IRCOps with access to the SAMODE command.

Access levels

These are the modes that grant a certain 'level' to a user.

Channel mode Module Description Restrictions
v chanmodes/voice Voice. This makes the user able to speak in +m/+M channels. User can also still speak if banned. May be set by +hoaq users
h chanmodes/halfop Half-Op. Gives some of the usual channel operator rights, but not all. They are basically a light version of channel ops. May be set by +oaq users
o chanmodes/chanop Channel Op. This is the channel operator privilege everyone knows about, allows the user to do almost all administrative tasks in a channel such as /KICK, /MODE, etc.. May be set by +oaq users
a chanmodes/chanadmin Channel Admin. A level above channel ops but with no special extra privileges except for one: people below chanadmin (so +h/+o) cannot KICK +a people. May be set by +q users
q chanmodes/chanowner Channel Owner. The highest level. Channel owners can't be kicked by any level below. Usually there's only one person with +q and the mode is set by services. Normal users can't set this

Note that often Services are used to manage +vhoaq lists in so called "access lists" or AOP/HOP/etc. Consult your services documentation.

Disabling levels

You can decide not to load a level by using blacklist-module, eg blacklist-module "chanmodes/chanowner"; if you don't want +q.

List modes

These are so called 'list modes'.

Channel mode Module Description Restrictions
b built-in Ban. Prevents a user from joining the channel. Requires +h or higher
e built-in Ban exception. When a user is banned (due to +b) and they are on this +e list then they may still join the channel. Requires +h or higher
I built-in Invite exception. When the channel is +i (invite only) then people on this list may still join the channel. Requires +h or higher

All these modes take a nick!user@host parameter, like: +b *!*@*.isp.com. See also Extended bans for other syntaxes (eg: +e ~channel:@#lobby).

Channel settings

These are channel modes that configure channel settings.

Channel mode Module Description Restrictions
c chanmodes/nocolor No color allowed in the channel. Will block ANSI and mIRC color codes. Requires +o or higher
C chanmodes/noctcp No CTCP's allowed in the channel. Requires +o or higher
D chanmodes/delayjoin Delays someone's JOIN message until that person speaks. Chanops and higher, opers and ulines/services are exempt. Requires +o or higher
d chanmodes/delayjoin When unsetting +D, Unreal needs to process all remaining delayed users (i.e. invisible in the channel to regular users) to make them JOIN. +d is an intermediate/temporary mode to facilitate this and will be unset once all users are properly "joined". Set by server
F chanmodes/floodprot Flood protection. Set an anti flood profile, see channel mode +F. (New in UnrealIRCd 6.1.0+) Requires +o or higher
f chanmodes/floodprot Flood protection fine-tuning. This is a highly advanced feature, see channel mode +f. Requires +o or higher
G chanmodes/censor Filter out bad words configured in Badword block Requires +o or higher
H chanmodes/history Turns on Channel History. For more information how to use this see Channel history Requires +o or higher
i chanmodes/inviteonly Invite only. Requires people to be /INVITE'd to the channel or be on the +I (Invite Exceptions) list (for that latter, see the List modes section above) Requires +o or higher
k chanmodes/key Require users to specify a channel key in order to join (/JOIN #chan key). Example: +k secret Requires +h or higher
K chanmodes/noknock /KNOCK command is not allowed. Requires +o or higher
L chanmodes/link If unable to join, user will be forwarded to this channel. Example: +L #something Requires +o or higher
l chanmodes/limit Limit the amount of users that may be in the channel. If the limit is reached then any new JOIN's are rejected (see also +L above). Requires +o or higher
m chanmodes/moderated Moderated channel. Only people with +v or higher (+vhoaq) may speak. Requires +h or higher
M chanmodes/regonlyspeak Must be authenticated to services or have +v or higher to speak. Requires +o or higher
N chanmodes/nonickchange No nick-changes permitted. Normally not set, only during a a nick-flood flood attack. Requires +o or higher
n chanmodes/noexternalmsgs No external messages. If you don't set +n then users outside the channel may still send messages to it. Thus, almost everyone will set their channel +n. Requires +h or higher
O chanmodes/operonly IRC Operator only channel IRCOp-only
P chanmodes/permanent Permanent channel. After all users leave a channel it is normally destroyed. If you set +P then this won't happen and all settings are preserved.

In addition to that, all channel settings (modes, bans, topic, etc.) are saved in a database and restored on startup via the channeldb module.

IRCOp-only
p chanmodes/private Private channel. Partially conceals the existence of the channel. Users cannot see this channel name unless they are a member of it. For example, if you WHOIS a user who is on a +p channel, this channel is omitted from the response - unless you are on the same channel. IRC Operators will always see +p channels and its members. Requires +o or higher
Q chanmodes/nokick No /KICK allowed. Can be used to force all chanops to use Services for kicking. Unusual, but possible. Requires +o or higher
R chanmodes/regonly Only registered users may join the channel. Registered users are users authenticated to Services. Requires +o or higher
r chanmodes/isregistered Channel is registered at Services Set by services
s chanmodes/secret Secret channel. Extends the functionality of +p (above), but in addition to this, it will act as if the channel does not exist at all for queries like /TOPIC, /LIST and /NAMES. One exception to this is that it will always respond to the /MODE command. IRC Operators will always see +s channels and its members. Requires +o or higher
S chanmodes/stripcolor Strip color codes. This removes any mIRC or ANSI color codes by converting it to regular text. Requires +o or higher
T chanmodes/nonotice Channel notices are not permitted (/NOTICE #chan hi!). On many clients a beeping sound will happen on notices, hence why this mode is sometimes set. Requires +o or higher
t chanmodes/topiclimit Restricts /TOPIC to +h or higher. Without +t anyone in the channel may set the topic. Most channels are +t. Requires +h or higher
V chanmodes/noinvite /INVITE is not permitted. Requires +o or higher
z chanmodes/secureonly Only clients which are connected through SSL/TLS may join the channel Requires +o or higher
Z chanmodes/issecure Indicates that only people who are using SSL/TLS are on the channel. This channel mode is (only) set by the server when the channel is also +z and everyone on the channel is connected via SSL. Set by server