Channel and User Modes

Version 1.5.2


Last revised by Fredfred () on 2022-08-11

Originally written by LadyDana () on 2000-10-28

Please direct any comments or feedback about this document (only! no help requests!) to docs@dal.net. If you need help on issues not covered in this document, please see the information at http://help.dal.net.

Introduction

This document serves as a reference for all the user and channel modes supported by the DALnet IRCD (Internet Relay Chat Daemon). DALnet's IRCD is named Bahamut. More information on Bahamut can be obtained at http://bahamut.dal.net and #bahamut.

An explanation is provided for each mode and in some cases, an example. Unless otherwise stated, modes are always modified through the /mode command.

Syntax:

/mode nickname +/- mode(s)
/mode #channelname +/- mode(s) parameters

You can only modify your own user mode. Only channel operators (@) have sufficient access to modify the modes for a channel.

Contents

1 · List of Modes

When first connecting to DALnet, you will get a lot of information on the server that you are connecting to. The list of user and channel modes may be hidden amongst this information.

Welcome to the DALnet IRC Network PJKevin!kevin@219.95.43.120
Your host is mesra.kl.my.dal.net, running version bahamut-1.8(02)
This server was created Sun Sep 19 2004 at 13:07:39 MYT
mesra.kl.my.dal.net bahamut-1.8(02) aAbcdefFghiIjkKmnoOrRswxXy bceiIjklLmMnoOprRstv
NETWORK=DALnet SAFELIST MAXBANS=100 MAXCHANNELS=20 CHANNELLEN=32 KICKLEN=307 NICKLEN=30 TOPICLEN=307 MODES=6 CHANTYPES=# CHANLIMIT=#:20 PREFIX=(ov)@+ STATUSMSG=@+ are available on this server

The above is an example of what you might see when you first connect. What we are interested in are the two groups of letters right after the ircd version on the fourth line. aAbcdefFghiIjkKmnoOrRswxXy and bceiIjklLmMnoOprRstv.

For this version of the IRCD, aAbcdefFghiIjkKmnoOrRswxXy are the user modes and bceiIjklLmMnoOprRstv are the channel modes. Each letter represents an option for a nick or a channel. Please note that this document is not necessarily based on this example.

2 · Channel Modes

Channel modes can only be modified by channel operators, which are those who have a @ next to their nickname. Certain channel modes require additional parameters along with the actual switch, others do not.

It's also possible to combine several different mode changes in one command, provided you respect the order of the parameters. With Bahamut, six mode changes can be applied at once.

Syntax:

/mode #channelname +/- mode(s) parameters

Examples:

/mode #peanutbutter +nt
/mode #peanutbutter -ps
/mode #peanutbutter +nt-R
/mode #peanutbutter +ntv-obb MissPeanut BadTastingPeanut *!*@loving.peanutbutter.ca *!*@singing.in.moonlight.net

2.1 +A

When a channel is in auditorium mode, users can only see ops or voiced users on the channel and messages that are sent to the channel by non-ops or non-voiced users are being relayed to #channel-relay. Ops and voiced users can see the full user list. Also, joins/parts/quits of non-ops or non-voiced users are only sent to ops or voiced users. This channel mode is intended for network-wide events and currently can only be set by services

2.2 +b

+b stands for channel bans and allows a channel operator to deny a person (or a group of people) access to the channel. If someone is banned while in the channel, they will not be able to talk. This additional feature is known as the +bquiet mode, although the actual mode is still just +b. In addition /part messages will be supressed. However, this will not affect anyone having the except mode +e on his host which is discussed below.

Syntax:

/mode #channelname +/-b [hosts]

Example:

/mode #peanutbutter +b-bb *!*@annoying.pest.com *!*@*.ca *!~@*.moonlight.net

If you don't specify any hosts, you will be shown a list of channel bans, even if you're outside the channel.

A more detailed document on banning is available at http://docs.dal.net/docs/banguide.html.

2.3 +c

The +c mode stands for colourless. It is a relatively new mode and is quite specific to DALnet at this time.

If a message sent to the channel contains colour codes (supported by most IRC clients) or control codes (including bold, underline, reverse, etc.), the message will be blocked as if the channel was moderated for that person.

2.4 +e

+e stands for except which excepts users from the channel who match a hostmask in the banlist allowing them to join. When a hostmask is set in the except list,the mode +e overrides the ban on the user that matches the hostmask.

Syntax:

/mode #channelname +/-e [hosts]

Example:

/mode #peanutbutter +e PJKevin!*@*.my

In the above example, let's say there is an existing ban is set with the hostmask *!*@*.my. PJKevin's hostmask is PJKevin!kevin@brk32-kj.jaring.my. PJKevin will be able to join #peanutbutter because he has an exception with the mask PJKevin!*@*.my.

Note: Please note that this mode does not override akicks set in the channel.

2.5 +h

A channel half operator is designated by the % next to their nick. This % translates into the giving and removal of the +h mode.

Syntax:

/mode #channelname +/-h nickname(s)

Example:

/mode #docsteam +hh-h MissPeanut PeanutButterLover CheekyBrat

A channel half-op has the ability to kick people from the channel unless the people are opped or voiced. In addition, they are able to change channel topic.

2.6 +i

Setting a channel to invite only will only allow those who have been invited to the channel (with the /invite command or in the channel's invite list) to join the channel.

2.7 +I

This mode allows a channel operator to set a list of users who are allowed to join a +i (invite only) channel or a +R (registered nicks only) channel.

Syntax:

/mode #channelname +/-I [hosts]

Example:

/mode #peanutbutter +I PJKevin!*@*.my

In the above example, PJKevin will be allowed to join the channel even if the channel is +i or +R with the hostmask PJKevin!kevin@brk32-kj.jaring.my since it matches an invite entry.

Note: Please note that this mode does not override bans set in the channel.

2.8 +j

The +j mode is used for Channel join throttling. It is useful to control join floods by determining the N number of users to join in S seconds.

Syntax:

/mode #channelname +/-j N:S

Example:

/mode #peanutbutter +j 4:5

In the above example, #peanutbutter has been set +j with the throttle value of 4 users in 5 seconds. The first value may not be set lower then 2 after bahamut version 2.0.7.

2.9 +k

The key of the channel is a word that you must specify in your /join command when attempting to enter the channel. If the key was incorrect or if no key was specified then you will be denied access to this channel.

Syntax:

/mode #channelname +/-k key

Example:

/mode #peanutbutter +k jam

Anybody joining the channel will need to use the /join #channelname key command. In our case, it would be /join #peanutbutter jam.

2.10 +l

The channel limit allows you to specify the maximum number of users who can be in the channel at a time. Once this number has been reached, anyone who attempts to join the channel will receive an error message of the channel being full.

Syntax:

/mode #channelname +/-l number

Example:

/mode #peanutbutter +l 25

2.11 +L

The +L mode is currently not used for anything on DAL.net although it is implemented into the current releases of the Bahamut IRCD. +L is moderated /list. If switched on, only channels with +L will appear in the /list. The +L mode has been reserved for future.

2.12 +m

A moderated channel only allows the ops (@) and voices (+) to send messages to the channel. All other messages will be blocked.

Anyone who is present in a moderated channel and who is not an op or voice there will also be prevented from changing their nickname.

2.13 +M

+M stands for only registered nicks may talk. Similar to the +R mode only those who are using and have identified to their current nick name (in other words, those who are set to umode +r) are allowed to speak in the channel although anybody may join. Unregistered nicks who are on a channel after +M is set will lose the ability to send messages to the channel until they become umode +r. See section section 3.5.

2.14 +n

The +n stands for no external messages. If +n is not set then it's possible for someone to send messages to the channel even if they are not present inside the channel.

2.15 +o

A channel operator is designated by the @ next to their nick. This @ translates into the giving and removal of the +o mode. Some IRC clients may use a symbol other than @ for pointing out channel ops, however they are far and few in between. ;)

Syntax:

/mode #channelname +/-o nickname(s)

Example:

/mode #peanutbutter +oo-o MissPeanut PeanutButterLover CheekyBrat

A channel operator has the ability to kick/ban people from the channel in addition to being one of the only ones who can change the channel modes of the channel.

2.16 +O

The +O mode stands for oper only. Basically, it only allows those with umode +o (IRC Operators) to join the channel. This mode can only be set by an IRC Operator.

2.17 +p

A private channel is shown in the /whois output but it does not show up on a /list request.

2.18 +P

The +P mode is set to default OFF when you register a channel. This means that your channel is automatically protected against messages from spammers. If you set it ON, you will not have any spam filter protection for your channel. For more information please visit https://www.dal.net/kb/view.php?kb=411.

2.19 +r

The +r mode can only be set by services itself and indicates that the channel in question is registered with ChanServ. This mode has been removed.

2.20 +R

+R stands for registered nicknames only. As its name implies, only those who are using and have identified to their current nickname (in other words, those who are set to umode +r) are allowed to enter the channel. For information to umode +r see section section 3.5.

2.21 +s

A secret channel is not shown on the WHOIS output unless the person requesting the WHOIS is also on the channel. In addition to this, a secret channel doesn't show up on a channel LIST request either.

There's no need to set the +p mode if you already have +s set, as it would be redundant. See section section 2.17.

2.22 +S

When a channel is set to +S, only users who have umode +S are allowed to enter this channel. Umode +S is set when you use a secure connection, SSL.

2.23 +t

When +t is set, only the ops of the channel can change the topic.

2.24 +v

As already mentioned above, when a channel is moderated (+m, see section section 2.12), only the channel ops and the channel voices can send messages to the channel. Only channel ops can add or remove voices.

Syntax:

/mode #channelname +/-v nickname(s)

Example:

/mode #peanutbutter +vv-v MissPeanut PeanutButterLover CheekyBrat

It should be noted that in many places, voiced users are considered as the friends of the ops and are often treated as ops in training. This is, however, not true for all channels.

3 · User Modes

User modes allow you to configure a number of things while on IRC. You can use them to specify how easy it will be for other people to find you, what kind of information the IRC server should pass on to you, etc. They are also commonly referred to as umodes.

Modes are generally set through the /mode command.

/mode nickname +/- mode(s)

Examples:

/mode PeanutButterLover +iws
/mode PeanutButterLover -H
/mode PeanutButterLover +i-s

You can only change your own user modes: therefore, the nickname will always stand for the nick that you are using at the time.

3.1 +C

When users have +C mode, they can get messages only from users who are in the SAME channel.

3.2 +H

This Usermode serves to mask a users' hostname. Setting this mode will keep a user's assigned IP hidden for security reasons/purposes. All other users will only see the masked address. Please use /whois nickname to view your current status:

MissPeanut is janice@77880b4eab7bbf7f42d610b290cf3edf698fa4.110.83.ip * Peanut Butter is the best!
MissPeanut is actually janice@83.110.194.2 [83.110.194.2]
MissPeanut is on @#PeanutButter +#PeanutB
MissPeanut is on koala.vc.au.dal.net Micron21, Australia
MissPeanut has identified for this nick
MissPeanut is using a secure connection (SSL)

Note: The +H mode is set to ON by default when you connect to DALnet

You can UNSET the mode by typing: (/mode nickname -H). You are not allowed to change user mode H if you are in any channels.

3.3 +i

+i is also known as the invisible mode. While it does not actually make you invisible on IRC, it can make you quite a bit more difficult to find. To put it briefly, the invisible mode prevents people from finding you unless they know your exact nickname or are on the same channel as you. Please note that a lot of servers actually set you to +i automatically when you first connect.

When not set to +i, a fellow user can locate you through the /who or through the /names #channelname command. IRC Operators also have the ability to see someone regardless of whether they are invisible or not.

3.4 +P

The +P mode is set to OFF as per default when you register a nick. This means that you are protected against spammers by DALnet's spam filter system. If you do not wish to have spam filter protection enabled for your nick, you can disable the setting by changing to "ON". For more information please visit https://www.dal.net/kb/view.php?kb=411.

3.5 +r

The +r mode can only be set by services itself and indicates that you are using and have identified to a registered nickname.

When using the /whois command on someone who is set to +r, an extra line will appear in the WHOIS output, indicating that they have identified to the nickname they are using.

Example:

MissPeanut is janice@peanutty.yummy.com * Peanut Butter is the best!
MissPeanut is on @#PeanutButter +#PeanutB
MissPeanut is on coast.fl.us.dal.net
MissPeanut has identified for this nick

3.6 +R

The +R mode can be set by any connect client and does not allow a client who is not umode +r to message the client. Please note that the umode +R client are not able to message the client who is not umode +r too. See section section 3.5 This includes private messages and CTCPs. A +R client will be able to receive messages from +o clients.See section section 4.1

3.7 +s

Setting yourself +s is a request to the server to send you all the generic server messages and information about oper kills. This can turn into quite a flood.

3.8 +S

This mode is set when you use a secure connection (SSL). Its set by the server only. A new line will be added in the /whois output:

MissPeanut is janice@peanutty.yummy.com * Peanut Butter is the best!
MissPeanut is on @#PeanutButter +#PeanutB
MissPeanut is on coast.fl.us.dal.net
MissPeanut is an IRC Operator - Server Administator
MissPeanut has identified for this nick
MissPeanut is using a secure connection (SSL)

3.9 +w

Wallops are network wide messages sent by IRC Operators to each other. Any user who is set to +w will also be able to observe the conversation. Wallops have become quite extinct on DALnet and are rarely sent.

4 · User Modes (IRCops Only)

The rest of the modes are only available to IRC Operators.

4.1 +o

The +o mode designates whether someone is an IRC Operator or not and is just about the only mode that cannot be obtained through the /mode command.

The command for a valid IRC Operator to "oper up" is:

/oper nickname oper password

While obtaining the +o mode may be done through a different command, the /mode is still used for "deopering", in other words to remove the IRC Operator priviledges.

Syntax:

/mode nickname -o

When opered, the WHOIS output of the IRCop reflects their status. Some servers may have modified their server theme to change the standard message, however, it should still be evident.

Example:

MissPeanut is janice@peanutty.yummy.com * Peanut Butter is the best!
MissPeanut is on @#PeanutButter +#PeanutB
MissPeanut is on coast.fl.us.dal.net
MissPeanut is an IRC Operator
MissPeanut has identified for this nick

It is beyond the scope of the document to explain how the oper passwords are set up or what the requirements for being a "valid" IRC Operator is. Suffice it to say that not just anyone can "oper up".

4.2 +O

Is a local IRC Operator.

4.3 +a

Will allow the use of the /samode command in addition to adding a line of the IRC Operator's WHOIS output, designating them as a Services Administrator.

Example:

MissPeanut is janice@peanutty.yummy.com * Peanut Butter is the best!
MissPeanut is on @#PeanutButter +#PeanutB
MissPeanut is on coast.fl.us.dal.net
MissPeanut is an IRC Operator - Services Administator
MissPeanut has identified for this nick

4.4 +A

Adds a line of the IRC Operator's WHOIS output, designating them as a Server Administrator. Server Administators have the ability to see +s (secret) and +p (private) channels. Server Administrators are also automatically set to +a.

Example:

MissPeanut is janice@peanutty.yummy.com * Peanut Butter is the best!
MissPeanut is on @#PeanutButter +#PeanutB
MissPeanut is on coast.fl.us.dal.net
MissPeanut is an IRC Operator - Server Administator
MissPeanut has identified for this nick

4.5 +b

Allows an IRC Operator to view oper chatop messages.

4.6 +c

The +c mode entitles IRC Operators to receive a notice everytime someone connects to or disconnects from the server they are on. Due to the large number of users on DALnet, this mode is rarely used these days as it would cause an enormous flood.

4.7 +d

Allows for viewing of debug messages.

4.8 +e

+e is strongly related to the DCCALLOW feature and will display any file transfers that were stopped at the server level.

4.9 +f

The +f is a mode that alerts an IRC Operator everytime someone on their server gets flooded or gets disconnected for excess flood. Channels that are protected by the built-in flood protection will also be pointed out whenever the flood protection triggers.

4.10 +F

Can bypass the ircd's recvq throttling.

4.11 +g

Allows an IRC Operator to view oper globop messages. This mode can actually be set by a normal user but it won't do anything for them. Originally, +g was used for global messages. However, with the arrival of Bahamut, it was changed to the flag for globops instead.

4.12 +h

+h is also referred to as the "helpful" mode. When set, an IRC Operator will show up in a /stats p request on their server along with their idle time.

Example:

MissPeanut (janice@peanutty.yummy.com) Idle: 30555
PeanutButterLover (butter@loving.peanutbutter.ca) Idle: 46
2 OPERs
End of /STATS report.

4.13 +I

+I hides the server info. Which means that the server part will not be displayed in a /whois output.

4.14 +j

Setting yourself +j is a request to the server to send you rejected drone connection notices.

4.15 +k

The +k stands for KILL messages and it will instruct the server to send you all the server kill messages. This can cause quite a flood though.

4.16 +K

Setting yourself +K is a request to the server to send you kill notices from U:lined servers.

4.17 +m

Reports possible spambots and failed targets.

4.18 +n

Once +n is set, the IRC Operator in question will be able to view server routing notices.

4.19 +x/X

+x/X is used for Squelch and Silent Squelch. Stops a user transmitting, for example it stops their PRIVMSG. Only settable by U:lined servers.

4.20 +y

The +y mode enables an IRC Operator to see certain commands sent from an user or another IRCop. Most notibly, stats/links/admin requests are displayed.

5 · Final Word

Finally, it should be noted that there are a lot of different IRCDs out there these days. While there are a lot of modes common to the large majority of IRCDs, the various user and channel modes can vary quite significantly from network to network.

This reference was written for the DALnet IRCD, Bahamut, Version 1.8.* and should not be directly applied to other IRCDs.