You are on page 1of 10


ChanServ allows you to register and control various aspects of channels. ChanServ can often prevent malicious users from "taking over" channels by limiting who is allowed channel operator priviliges. Any channel which is not used for 120 days will be expired and may be dropped. ChanServ's commands are listed below. For more information on a specific command, type /msg ChanServ help <command>. REGISTER DROP IDENTIFY SET ACCESS AUTOREM LEVEL LIST INFO GETKEY INVITE OP VOICE UNBAN CLEAR Register a channel Cancel the registration of a channel Identify yourself with your password Set various channel options Modify the list of privileged users Maintain the AutoRemove list Change the level required for functions Display list of channels matching a pattern Display information for a channel Retrieve the key (+k) to a channel Invite yourself to a channel Op yourself on a channel Voice yourself on a channel Unban yourself on a channel Clear various channel modes

Syntax: REGISTER <channel> [password] Registers <channel> in ChanServ's database. [password] is used via ChanServ IDENTIFY to identify the channel contact for some functions. If no password is specified, only the channel contact nick can use ChanServ IDENTIFY. Guidelines for running a freenode channel are found here: Pick someone to register your project channel who is around frequently. If your channel contact's nick expires, ChanServ will drop their channel when NickServ drops their nick. Consider setting an ALTERNATE to avoid this situation. Give channel staffers the ability to maintain your channel via the ACCESS command. Level '10' lets them gain ops, voice and devoice users, etc. Try to ensure your channel has 24-hour coverage. Staffers should IDENTIFY to NickServ so that their nicks don't expire, and so that ChanServ will recognize them.

If no one on a channel's ACCESS list enters the channel within 120 days, the channel will be considered expired and may be dropped.

Syntax: DROP <channel> [password] Cancels the registration of <channel>. Only a channel contact may DROP a channel. Also, the contact must IDENTIFY before using this command, or supply the correct channel password.

Syntax: IDENTIFY <channel> [password] Identifies you as the channel contact for <channel>. Some ChanServ commands require that you IDENTIFY before using them. If you are the contact (your master nick is equal to the stored contact nick), you need not use the channel password, otherwise you have to. If there is no channel password, only the contact nick can use this command.

Syntax: SET <channel> <option> [parameters] Allows the channel contact or level 25 to set various channel options and other information. All options may be abbreviated, such as: /msg ChanServ set #channel CONT newcontact to set the CONTACT nickname to "newcontact". For more specific information on each option, type: /msg ChanServ HELP SET <option> Available options: CONTACT ALTERNATE PASSWORD MLOCK TOPICLOCK PRIVATE SECUREOPS SECURE ENTRYMSG EMAIL URL GUARD Set the contact of a channel (contact) Set the alternate contact for the channel Set the contact password (contact) Lock channel modes on or off Restrict topic changes Hide channel from ChanServ lists Stricter control of chanop status Activate ChanServ security features Send a message to users upon entry Set the channel email address Set the channel url Have ChanServ join your channel


Let anyone keep ops from a netsplit Notify chanops on access changes

Syntax: SET <channel> CONTACT <nickname> Resets the contact nickname for <channel> to <nickname>.

Syntax: SET <channel> ALTERNATE <nickname|-> Sets the alternate channel contact to <nickname>. If the contact's nickname ever expires, services will make the alternate contact the new contact. If both the contact and the alternate contact nicknames expire, the channel will be dropped. The alternate contact needs to be on the access list as well. To clear the alternate contact, use a "-" for the nickname. Alias: SUCCESSOR

Syntax: SET <channel> PASSWORD [password] If [password] is specified, resets the channel contact password for <channel> to [password]. If [password] is not specified, removes the channel password, so only the contact nick can use /msg ChanServ identify.

Syntax: SET <channel> MLOCK <modes> Causes ChanServ to enforce <modes> for <channel>. Modes following a "+" are locked ON, while modes following a "-" are locked OFF. Alias: MODELOCK Examples: SET #channel MLOCK -mi+sntl 6 Modes 'm' and 'i' are not allowed to be set, while modes 's', 'n', and 't' are forced on. The channel limit will also always be set to 6. SET #channel MLOCK +sk hello Mode 's' is forced on, and the channel key is forced to be "hello". SET #channel MLOCK + Removes all locks on modes, so any modes are free to be on/off.


Syntax: SET <channel> TOPICLOCK {ON|OFF} If TOPICLOCK is ON, ChanServ will not allow anyone without an access level of TOPIC or higher to change the topic on <channel>. Alias: TLOCK

Syntax: SET <channel> PRIVATE {ON|OFF} When PRIVATE is enabled, the channel will not show up when someone does uses the ChanServ LIST command.

Syntax: SET <channel> SECUREOPS {ON|OFF} When SECUREOPS is enabled, only users who have cmdop status or higher on the channel will be allowed ops.

Syntax: SET <channel> SECURE {ON|OFF} Enables or disables ChanServ's security features for a channel. When SECURE is ON, only users who have registered their nicknames with NickServ and IDENTIFY'd with their password will be given access to the channel as controlled by the ACCESS LIST.

Syntax: SET <channel> ENTRYMSG <message|-> Sets the entry message for <channel> to <message>. When users enter the channel, ChanServ will send them the message. To clear the entry message use a "-" as the message. Alias: ONJOIN Examples: /msg ChanServ SET <channel> ENTRYMSG Welcome! Sets the entry message to "Welcome" on <channel> /msg ChanServ SET <channel> ENTRYMSG Clears the entry message on <channel>

Syntax: SET <channel> EMAIL <email address|-> Sets the channel email address to <email address>. When users perform an INFO on the channel, they will be informed of the channel's email address. To clear the email address use a "-" as the parameter. Alias: MAIL

Examples: /msg ChanServ SET <channel> EMAIL info@we.rock Sets the email address to "info@we.rock" on <channel> /msg ChanServ SET <channel> EMAIL Clears the email address on <channel>

Syntax: SET <channel> URL <url|-> Sets the channel url to <url>. When users perform an INFO on the channel, they will be informed of the channel's url. To clear the url use a "-" as the parameter. Alias: WEBSITE Examples: /msg ChanServ SET <channel> URL! Sets the url to "" on <channel> /msg ChanServ SET <channel> URL Clears the url on <channel>

Syntax: SET <channel> GUARD {ON|OFF} When GUARD is enabled, ChanServ will join and sit in your channel. One advantage to this is to keep your channel occupied when the last user leaves.

Syntax: SET <channel> SPLITOPS {ON|OFF} When the SPLITOPS setting is ON, any user who gains ops from over a netsplit will be allowed to keep their ops. This can avoid mass-deops in a channel where not everyone is on ChanServ

Syntax: SET <channel> VERBOSE {ON|OFF} When the VERBOSE setting is ON, any change in access list for <channel> will notify all chanops on <channel>.

Syntax: ACCESS <channel> ADD <mask> <level> ACCESS <channel> DEL <mask | index> ACCESS <channel> LIST [mask]

Maintains the channel access list for <channel>. Users matching a hostmask on the access list will have access to various ChanServ commands depending on what level they have. Type /msg ChanServ HELP LEVEL for how to view and change the level required for each command). Anyone not on the channel's access list has a default access level of 0. You may type: /msg ChanServ HELP ACCESS {ADD|DEL|LIST} for more specific information on each command.

Syntax: ACCESS <channel> ADD <mask | nickname> <level> The ACCESS ADD command adds the specified hostmask or nickname to the access list with the specified level. If the nickname or hostmask already exists on the access list, the access level is changed to the level specified in the command. Type: /msg ChanServ LEVEL <channel> LIST for a list of available levels.

Syntax: ACCESS <channel> DEL <mask | index> The ACCESS DEL command deletes <mask> from the access list. If an index number is given, the corresponding entry is deleted. You can get a list of indices from the ACCESS LIST command.

Syntax: ACCESS <channel> LIST [FULL|mask] The ACCESS LIST command displays the channel's access list. If a mask is specified, only the entries matching the mask are displayed. Users with level 1 or higher can use the FULL parameter to see when each entry was added.

Syntax: AUTOREM <channel> ADD <mask> [reason] AUTOREM <channel> DEL <mask | index> AUTOREM <channel> LIST [mask]

Maintains the channel autoremove list for <channel>. If a user on the autoremove list attempts to join the channel, ChanServ will ban/remove the user. /msg ChanServ HELP AUTOREM {ADD|DEL|LIST} for more specific information on each command.

Syntax: AUTOREM <channel> ADD <hostmask> [reason] Adds <hostmask> to the autoremove list for <channel> with [reason]. You may not add an autoremove entry that matches an access level higher than your own on the channel.

Syntax: AUTOREM <channel> DEL <mask | index> The AUTOREM DEL command deletes all hostmasks matching <mask> from the autoremove list. If an index number is given instead of a hostmask, the corresponding hostmask is deleted. You can get a list of indices from the AUTOREM LIST command.

Syntax: AUTOREM <channel> LIST [mask] The AUTOREM LIST command displays the channel's autoremove list. If a mask is specified, only the entries matching the mask are displayed.

Syntax: LEVEL <channel> SET <type|index> <level> LEVEL <channel> RESET <type|index|ALL> LEVEL <channel> LIST

Changes the access level required to be able to execute certain commands. This allows the channel contact to be able to customize the access level list to the needs of the channel. For more specific help on each command, type: /msg ChanServ HELP LEVEL {SET|RESET|LIST}

Syntax: LEVEL <channel> SET <type|index> <newlevel> The LEVEL SET command changes the level required to execute a function for a channel. If a user satisfies the criteria set by this command (ie. the access level), then they will be able to do the command or have the privilege (depending what the LEVEL your setting is for). To obtain a list of indices/types to use for the fourth argument, type /msg ChanServ LEVEL <channel> LIST Example: /msg ChanServ LEVEL #chan SET autoop 20 Changes the level required to be auto-opped on #chan to 20

Syntax: LEVEL <channel> RESET <type|index>

The LEVEL RESET command will set the level specified to the default one specified by services. To obtain a list of types/indices to use for the fourth argument, type: /msg ChanServ LEVEL <channel> LIST. Examples: /msg ChanServ LEVEL #chan RESET autovoice Resets the level required for an autovoice on #chan to the default level (5) /msg ChanServ LEVEL #chan RESET all Resets the entire access level list for #chan to the default list.

Syntax: LEVEL <channel> LIST The LEVEL LIST command displays the current levels, along with their types/indices required for the LEVEL SET and LEVEL RESET commands.

Syntax: LIST <pattern> Lists all registered channels that match <pattern>. Channels that have SET PRIVATE ON, will not be displayed. Example: /msg ChanServ LIST #*bleh* Lists all channels that contain bleh

Syntax: INFO <channel> Displays information for <channel>, including channel contact, time of registration, topic, and mode lock, if any.

Syntax: GETKEY <channel> Returns the key to <channel>. Useful if the channel is set +k.

Syntax: INVITE <channel> Invites the sender to <channel>. Useful if SET MLOCK is set to +i on the channel.

Example: /msg ChanServ INVITE #channel ChanServ will invite you to #channel.

Syntax: OP <channel | ALL> [nicknames] Gives channel operator status to [nicknames]. If no nicknames are specified, ChanServ will op the nick who gave the command. Placing a - in front of a nick will deop that nick. If SECUREOPS is ON, ChanServ will not op nicks who do not have a level of CmdOp or higher. Examples: /msg ChanServ OP #channel Ops the nick who gave the command on #channel. /msg ChanServ OP #channel nick1 -nick2 nick3 Ops nick1 and nick3, but deops nick2 on #channel. /msg ChanServ OP ALL Ops you in all channels you are currently in, if you have CMDOP access.

Syntax: VOICE <channel> [nicknames] Gives voice status to [nicknames]. If no nicknames are specified, ChanServ will voice the nick who gave the command. Placing a - in front of a nick will devoice that nick. ChanServ will refuse to voice an user who is on the access list as autodevoiced. To disable this, prefix the nick with a +. Examples: /msg ChanServ VOICE #channel Voices the nick who gave the command on #channel. /msg ChanServ VOICE #channel nick1 -nick2 +nick3 Voices nick1, nick3 even if autodevoiced, but devoices nick2 on #channel.

Syntax: UNBAN <channel> [ALL] Unbans every ban matching your user@host or user@ip and every gecos ban matching your ircname on <channel>. If you specify ALL, every ban and gecos ban on <channel> will be cleared. You must have CMDCLEAR access to <channel> to use the ALL option. Examples: /msg ChanServ UNBAN #channel Clears every ban on #channel matching you

/msg ChanServ UNBAN #channel ALL Clears every ban on #channel.

Syntax: CLEAR <channel> <option> ChanServ will clear certain channel modes depending on <option>. Options: OPS VOICES MODES BANS GECOSBANS USERS ALL Deops every channel op Devoices every voiced user Clears all channel modes Removes all channel bans Remove all channel gecos bans Removes all users from channel Combination of OPS, VOICES, MODES, and BANS (does not remove users)