Mode (ChanServ Command)
This command does one of two things, depending on the sub command used. Note that this article uses channel mode characters which are not described here. For further information about the characters used here, see channel modes.
The lock sub command manipulates the channel's mode lock, or mlock for short. Channels that are mlocked to certain modes cannot have those modes changed at all. A few channel modes, such as +O, cannot be set with this command. This can force certain modes to remain set or unset on a given channel at all times, unless the mode lock is changed.
By default, all registered channels are assigned the mode lock +tn. This means that only channel operators are allowed to change the topic and users must be in the channel before they may send messages to the channel. It is recommended to never remove these modes from your mlock, although you are given the freedom to do this if you so wish.
To change your channel's mode lock, you must use the lock sub command. You can use the set sub command to instead change channel modes using wild cards, which offers more powerful options than available through the mode IRC command. These two sub commands, as well as the clear sub command, will be described in further detail below.
This sub command accepts 2 arguments, one of the words add, del, set, or list, and an optional argument of which modes to apply to the lock. For instance, if you want to completely replace the mode lock on #channel with +nts-k, you would use the following command:
/msg ChanServ mode #channel lock set +nts-k
This will prevent channel modes n, t, or s from ever being unset, or channel mode k from ever being set.
If you want to keep the existing mode lock for #channel, but add -k and +s to it, you can instead use this command:
/msg ChanServ mode #channel lock add +s-k
You can also delete modes n and t from your mlock on #channel if you like. You would use the following command:
/msg ChanServ mode #channel lock del +nt
This allows you to set specific modes on the channel. Modes that require extra arguments, such as +/-v, can have those arguments specified with wild card characters. For example, if you want to give voice to everybody in #channel, you can use this command:
/msg ChanServ set #channel +v *
This clears out channel modes not subject to an mlock. Voiced users, half operators, channel operators, protected users, and channel owners do not have their statuses unset with the use of this command unless explicitly specified. Specific types of modes can be specified from the following list:
- Excepts (ban exceptions)
- Inviteoverrides (invite exceptions)
For instance, to remove operator status from all users on #channel, you would use this command:
/msg ChanServ mode #channel clear ops