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
+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.
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.
+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.
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.
This mode allows a channel operator to set a list of users who are allowed to join a +i (invite 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 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.
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 4 after bahamut version 1.8.3.
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.
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
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.
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.
+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.2.
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.
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.
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.
A private channel is not shown on the WHOIS output unless the person requesting the WHOIS is also on the channel.
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.
+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 informations to umode +r see section section 3.2.
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.15.
When +t is set, only the ops of the channel can change the topic.
As already mentioned above, when a channel is moderated (+m, see section section 2.10), 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.