You are on page 1of 10


ChanServ allows you to register and control various aspects of channels. ChanServ can often pre-
vent malicious users from "taking over" channels by limiting who is allowed channel operator priv-
iliges. 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 Register a channel
DROP Cancel the registration of a channel
IDENTIFY Identify yourself with your password
SET Set various channel options
ACCESS Modify the list of privileged users
AUTOREM Maintain the AutoRemove list
LEVEL Change the level required for functions
LIST Display list of channels matching a pattern
INFO Display information for a channel
GETKEY Retrieve the key (+k) to a channel
INVITE Invite yourself to a channel
OP Op yourself on a channel
VOICE Voice yourself on a channel
UNBAN Unban yourself on a channel
CLEAR 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 con-
tact 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 con-
sidered 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 op-
tions 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 Set the contact of a channel (contact)
ALTERNATE Set the alternate contact for the channel
PASSWORD Set the contact password (contact)
MLOCK Lock channel modes on or off
TOPICLOCK Restrict topic changes
PRIVATE Hide channel from ChanServ lists
SECUREOPS Stricter control of chanop status
SECURE Activate ChanServ security features
ENTRYMSG Send a message to users upon entry
EMAIL Set the channel email address
URL Set the channel url
GUARD Have ChanServ join your channel
SPLITOPS Let anyone keep ops from a netsplit
VERBOSE 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 nick-
names 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.

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.

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.

/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
Alias: MAIL

/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.

/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 ac-
cess list has a default access level of 0.
You may type:


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.

/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 autore-
move 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 com-
mand or have the privilege (depending what the LEVEL your setting is for). To obtain a list of in-
dices/types to use for the fourth argument, type /msg ChanServ LEVEL <channel> LIST

/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.

/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.

/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.

/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.

/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 +.

/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 irc-
name 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.

/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>.
OPS Deops every channel op
VOICES Devoices every voiced user
MODES Clears all channel modes
BANS Removes all channel bans
GECOSBANS Remove all channel gecos bans
USERS Removes all users from channel
ALL Combination of OPS, VOICES, MODES, and BANS (does not remove users)

You might also like