ChanServ Guide - Version 1.1

Derived from a series by Raven (former Customer Service Coordinator)


1. Introduction to ChanServ
ChanServ is part of the Services Bots which are offered to the IRC Users here on the Gamers-IRC Network. ChanServ allows you to register and control various aspects of Channels and it can also often prevent malicious Users from "taking over" Channels by limiting who is allowed to get Channel Operator privileges.

NOTE: The ChanServ AOP and VOP access systems do -NOT- work as listed, so please do not use them. See the ChanServ access commands below for using them to control the access lists in your channels.

Return to the top of the page


2. General ChanServ Commands
2.1 INFO - Example : /chanserv INFO #channelname
This command lists Information about the named registered Channel, including it's Founder, Time of Registration, last Time used, Description, and Mode Locks, if any. If you are identified as the Founder of the Channel you're getting Information for the Entry Message and the Successor will also be displayed.
Example: (Response from ChanServ after using the INFO Command)

Information for channel #irc-help:
Founder: Fripp (user@host)
Description: To aid those new to irc
Registered: Oct 23 10:34:00 1999 MDT
Last used: Sep 09 07:45:42 2000 MDT
Topic: only shown on non-secret channels
Topic set by: only shown on non-secret channels
Options: Topic Retention
Mode lock: +ntc


2.2 INVITE YOURSELF - Example : /chanserv INVITE #channel
Invite yourself into a Channel which is set to invite-only (+i). You can only do that if you are on the Access List at level 1 or higher.

2.3 INVITE OTHERS - Example : /invite Nickname #channel
This will invite others in a Channel where you are Channel Operator.

2.4 OP - Example : /chanserv OP #channel Nickname
Ops a selected nick on a channel. By default, you have to be a Channel Operator with at least level 10 access in the Channel to do this. If a nick is not specified, your nick will be used.

2.5 DEOP - Example : /chanserv DEOP #channel Nickname
Deops a selected nick on a channel. By default, you have to be a Channel Operator with at least level 10 access in the Channel to do this. If a nick is not specified, your nick will be used.

2.6 UNBAN - Example : /chanserv UNBAN #channel
Tells ChanServ to remove all bans preventing you from entering the given channel. By default, only works if your access level on that channel is greater than zero.

2.7 VOICE - Example : /chanserv VOICE #channel Nickname
Voices a selected nick on a channel. By default, limited to those with level 5 access and above on the channel. If a nick is not specified, your nick will be used.

2.8 DEVOICE - Example : /chanserv DEVOICE #channel Nickname
Devoices a selected nick on a channel. By default, limited to those with level 5 access and above on the channel. If you are at Access Level 5 you can only devoice yourself by default. If a nick is not specified, your nick will be used.

2.9 CLEAR - Example : /chanserv CLEAR #channel what
Tells ChanServ to clear certain settings on a channel. what can be any of the following:
* MODES - Resets all modes on the channel (i.e. clears modes i,k,l,m,n,p,s,t).
* BANS - Clears all bans on the channel.
* OPS - Removes channel-operator status (mode +o) from all channel operators.
* VOICES - Removes "voice" status (mode +v) from anyone with that mode set.
* USERS - Removes (kicks) all users from the channel.

By default, your access level on the channel must be at least 10 to use this command.

Return to the top of the page


3. How to register Channels / Channel Passwords
In order to register a Channel, you must first be a Channel Operator on the Channel you want to register. Then simply enter /chanserv REGISTER #channelname password description. (If you use the password password you are asking for your channel to be taken over. Please make sure you use another password)

This will register your Channel in the ChanServ Database and ChanServ will automatically join then Channel and op beside you.

The last parameter description, which must be included, is a general Description of the Channel's purpose.

Also you will be recorded as the "founder" of the Channel. The Channel founder is allowed to change all of the Channel Settings. ChanServ will also automatically give the founder Channel Operator privileges when he/she enters the Channel even if the founder does not show up on the Access List (for Access List Information check further down in this Document).

The Password can be used by entering /chanserv IDENTIFY #channelname password.
Many Commands require you to Identify yourself as Channelfounder before. The Password is the same one you sent with the REGISTER Command.

Note: In order to register a Channel, you must have first registered your Nickname. If you haven't please check the NickServ Document for more Information on how to do so.

Return to the top of the page


4. Managing Channel Access Lists
There is an Access List on ChanServ for every registered Channel. This Access list includes all registered Nicknames of people who have either automatic Channel Operator Status, automatic Voice Status or can invite themselves into invite only Channels. Different User Levels allow for access to different subsets of privileges. A Nickname not on the Access List has a User Level of 0.
You can work on this list by using the Command /chanserv ACCESS {ADD DEL LIST COUNT} #channel.

4.1 ADD - Example : /chanserv ACCESS #channel ADD Nickname Level
This Command adds the given Nickname to the Access List with the given User Level. If the Nick is already present on the List, it's Access Level is changed to the Level specified on the Command. The Level specified must be less than that of the User using the Command, and if the Nick is already on the Access List, the current Access Level of that Nick must be less than the Access Level of the User giving the Command to work. Else ChanServ will tell the User that he is not allowed to make this change with a "Permission Denied".

4.2 DEL - Example : /chanserv ACCESS #channel DEL {Nick | Entry-num | List} This command removes the given Nick from the Access list. If a list of Entry Numbers if given, those entries are deleted. (See the example for LIST below.)
Note: User not on the Access List cannot view it at all.

4.3 LIST - Example : /chanserv ACCESS #channel LIST [Mask | List]
The ACCESS LIST Command displays the Access List. If a wildcard Mask is given, only those entries matching the Mask are displayed. If a list of entry Numbers is given, only those entries are shown

Example:
/msg chanserv ACCESS #channel LIST 2-5,7-9
This would list access entries numbered 2 through 5 and 7 through 9.

4.4 COUNT - Example : /chanserv ACCESS #channel COUNT
This command returns the Number of entries on the Access List.

Return to the top of the page


5. The Access List Levels and Settings
5.1 Default Access Levels
Each Access Level has its own set privileges. All higher Access levels include all privileges of the lower ones. The Default Levels set for a Channel if you register it are the following :

* Level 1 - Inviting yourself if the Channel is set to +i invite-only.
* Level 5 - Level 1 features and will be granted auto-voice +v by ChanServ.
* Level 10 - Level 1,5 features, will be granted auto-op +o by ChanServ, access to normal Channel Operator Commands except AutoKick and the Access List.
* Level 20 - Level 1,5,10 features and access to AutoKick. No permission to modify the Access List.
* Level 30 - Level 1,5,10,20 features and ability to modify the Access List.

The LEVELS Command allows fine control over the meaning of the numeric Access Levels used for Channels. With this command, you can define the access level required for most of ChanServ's functions. (The SET FOUNDER and SET PASSWORD commands, as well as this command, are always restricted to the channel founder.)

5.2 Levels TYPE - Example : /chanserv LEVELS #channel SET type level
LEVELS SET allows the access level for a function or group of functions to be changed.

The following feature/function names are understood. Note that the levels for AUTODEOP and NOJOIN are maximum levels, while all others are minimum levels:

* AUTOOP - Automatic channel operator status
* AUTOVOICE - Automatic mode +v
* AUTODEOP - Channel operator status disallowed
* NOJOIN - Not allowed to join channel if RESTRICTED
* INVITE - Allowed to use INVITE command
* AKICK - Allowed to use AKICK command
* SET - Allowed to use SET command (not FOUNDER/PASSWORD)
* CLEAR - Allowed to use CLEAR command
* BAN/UNBAN - Allowed to use UNBAN command
* OPDEOP - Allowed to use OP/DEOP commands
* ACC-LIST - Allowed to view the access list
* ACC-CHANGE - Allowed to modify the access list
* MEMO - Allowed to list/read channel memos

5.3 Levels DISABLE - Example : /chanserv LEVELS #channel {DIS | DISABLE} type
LEVELS DISABLE (or DIS for short) disables an automatic feature or disallows access to a function by anyone other than the channel founder.

5.4 Levels LIST - Example : /chanserv LEVELS #channel LIST
LEVELS LIST shows the current levels for each function or group of functions.

5.5 Levels RESET - Example : /chanserv LEVELS #channel RESET
LEVELS RESET resets the levels to the default levels of a newly-created channel (for Default Levels check the Information above).

Return to the top of the page


6. The Channel's Auto-Kick List
There is an AutoKick List for a Channel. If a User on the AutoKick list attempts to join the Channel, ChanServ will ban and kick that user from the Channel. This is usefull if the User left the Channel before you were able to place a ban but do not want him to return.

6.1 ADD - Example : /chanserv AKICK #channel ADD Mask [reason]
This Command ads the given Nick or Usermask to the AutoKick list. If a reason is given with the Command, that reason will be used when the User is kicked. If not, the default reason is "You have been banned from the Channel".

6.2 DEL - Example : /chanserv AKICK #channel DEL Mask
You can use this Command to remove the given Nick or Mask from the AKick List. It does not, however, remove any bans placed by an AutoKick. Thos must be removed manually.

6.3 LIST - Example : /chanserv AKICK #channel LIST [Mask | List]
This one displays the AutoKick List, or optionally only those AutoKick entries which match the given Mask. /msg chanserv AKICK #channel VIEW simply shows more details.

6.4 ENFORCE - Example : /chanserv AKICK #channel ENFORCE
With this command you cause ChanServ to enforce the current AKick list by removing those Users who match an AKick Mask.

6.5 COUNT - Example : /chanserv AKICK #channel COUNT
This command returns how many entries are on the AutoKick List at the moment. Return to the top of the page


7. Additional Options for registered Channels
7.1 FOUNDER - Example : /chanserv SET #channel FOUNDER nickname
Changes the founder of a channel. The new nickname must be registered.

7.2 SUCCESSOR - Example : /chanserv SET #channel SUCCESSOR nickname
Changes the successor of a channel. If the founder's nickname expires or is dropped while the channel is still registered, the successor will become the new founder of the channel. However, if the successor already has too many channels registered (20), the channel will be dropped instead, just as if no successor had been set. The new nickname must be registered.

7.3 PASSWORD - Example : /chanserv SET #channel PASSWORD password
Sets the password used to identify as the founder of the channel.

7.4 DESCRIPTION - Example : /chanserv SET #channel DESC description
Sets the description for the channel, which shows up with the LIST and /chanserv INFO #channel commands.

7.5 URL - Example : /chanserv SET #channel URL [url]
Associates the given URL with the channel. This URL will be displayed whenever someone requests information on the channel with the /chanserv INFO #channel command. If no parameter is given, deletes any current URL for the channel.

7.6 EMAIL - Example : /chanserv SET #channel EMAIL [address]
Associates the given E-mail address with the channel. This address will be displayed whenever someone requests information on the channel with the /chanserv INFO #channel command. If no parameter is given, deletes any current E-mail address for the channel.

7.7 ENTRYMSG - Example : /chanserv SET #channel ENTRYMSG [message]
Sets the message which will be sent via /notice to users when they enter the channel. If no parameter is given, causes no message to be sent upon entering the channel.

7.8 TOPIC - Example : /chanserv SET #channel TOPIC topic
Causes ChanServ to set the channel topic to the one specified. This command is most useful in conjunction with TOPICLOCK.

7.9 KEEPTOPIC - Example : /chanserv SET #channel KEEPTOPIC {ON | OFF}
Enables or disables the topic retention option for a channel. When topic retention is set, the topic for the Channel will be remembered by ChanServ even after the last user leaves the channel, and will be restored the next time the channel is created.

7.10 TOPICLOCK - Example : /chanserv SET #channel TOPICLOCK {ON | OFF}
Enables or disables the TOPICLOCK option for a channel. When TOPICLOCK is set, ChanServ will not allow the channel topic to be changed except via the SET TOPIC command.

7.11 PRIVATE - Example : /chanserv SET #channel PRIVATE {ON | OFF}
Enables or disables the PRIVATE option for a channel. When PRIVATE is set, a /chanserv LIST will not include the channel in any lists.

7.12 MODELOCK - Example : /chanserv SET #channel MLOCK modes
Sets the mode-lock parameter for the channel. ChanServ allows you to define certain channel modes to be always on (or off). The modes that can be locked are i, k, l, m, n, p, s, and t; each of these Modes can be locked on, locked off, or not locked. The modes parameter is constructed exactly the same way as a /MODE command; that is, modes followed by a + are locked on, and modes followed by a - are locked off.
If you lock certain modes only you as Channel founder are able to change them. The normal /MODE Command which can be used by Channel Operators in your Channel won't have any effect because ChanServ will enforce these modes.
Warning: If you set a mode-locked key you should also set the RESTRICTED option for the channel (see further below in this document for more Information), or anyone entering the channel when it is empty will be able to see the key!

Examples:
/chanserv SET #channel MLOCK +nt-iklps
Forces modes n and t on, and modes i, k, l, p, and s off. Mode m is left free to be set either on or off by normal Channel Operators.

/chanserv SET #channel MLOCK +knst-ilmp my-key
Forces modes k, n, s, and t on, and modes i, l, m, and p off. Also forces the channel key to be "my-key".

/chanserv SET #channel MLOCK +
Removes the mode lock. All channel modes are free to be either on or off.

7.12.1 +i Invite only - Example : /mode #channel +i or via MLOCK to change it permanently
If this Mode is set then only Users on the Access List are able to join the Channel and they have to invite themselves with /chanserv INVITE #channel before when they are on their registered Nickname. Then they are able to join.

7.12.2 +k Keylock - Example : /mode #channel +k keyword or via MLOCK to change it permanently
This way you can set a Keyword on your Channel. Users are only able to join then if they do it via /JOIN #channel Keyword.
If they enter the wrong Keyword their Join request will be refused.

7.12.3 +l Limit Users - Example : /mode #channel +l number or via MLOCK to change it permanently
This sets a limit on how many Users are able to join a Channel. If you set it for example to 200 and there are already 200 Users in the Channel no others will be able to join till someone leaves and opens up some space.

7.12.4 +m Moderated - Example : /mode #channel +m or via MLOCK to change it permanently
This way you can moderate Channels. Means only Users with Channel Operator or Voice Status are able to speak in the Channel.

7.12.5 +n No External Messages - Example : /mode #channel +n or via MLOCK to change it permanently
This Command will deny all Messages from outside the Channel being posted in there. You can send Messages into Channels via /msg #channel text.

7.12.6 +p Private - Example : /mode #channel +p or via MLOCK to change it permanently
This prevents a channel from being seen in a /WHOIS unless the person issuing the /WHOIS request is on the same channel. A channel that is +p will still show up in the channels though.

7.12.7 +P Profanity Filter - Example : /mode #channel +P or via MLOCK to change it permanently
This mode enables the profanity filter, a list of words considered profane by Gamers-IRC staff. If you enable this mode in your channel, the words on the profanity list are blocked and cannot be sent to the channel. A list of these words is not available.

7.12.8 +s Secret - Example : /mode #channel +s or via MLOCK to change it permanently
This prevents a channel from being listed in the channels list retrieved by the /LIST Channels dialog.

7.12.9 +t TopicLock - Example : /mode #channel +t or via MLOCK to change it permanently
If this mode is enabled only Users with Channel Operator Status in the Channel will be able to set a new Topic.

7.13 RESTRICTED - Example : /chanserv SET #channel RESTRICTED {ON | OFF}
Enables or disables the restricted Access Option for a Channel. When restricted Access is set, Users who would normally be disallowed from having Channel Operator privileges (Users with negative Access Levels and, if Secure Ops is set, Users not on the Access list) will instead be kicked and banned from the Channel automatically.

7.14 SECURE - Example : /chanserv SET #channel SECURE {ON | OFF}
Enables or disables ChanServ's security features for a Channel. When SECURE is set, only Users who have registered their Nicknames with NickServ and IDENTIFY'd with their Password will be given Access to then Channel as controlled by the Access list.

7.15 SECUREOPS - Example : /chanserv SET #channel SECUREOPS {ON | OFF}
Enables or disables the Secure-Ops for a Channel. When SECUREOPS is set, Users who are not on the Userlist will not be allowed to have Channel Operator Status. If someone ops them with OP ChanServ will automatically deop them again.

7.16 LEAVEOPS - Example : /chanserv SET #channel LEAVEOPS {ON | OFF}
Enables or disables the Leave-Ops for a Channel. When LEAVEOPS is set, ChanServ will never De-Op a User in that Channel except with the DEOP Command.

7.17 OPNOTICE - Example : /chanserv SET #channel OPNOTICE {ON | OFF}
Enables or disables the Op-Notice Option for a Channel. When Op-Notice is set, ChanServ will send a notice to the Channel whenever the OP or DEOP Commands are used for a User in the Channel.

Return to the top of the page


8. Removing a Channel Registration
If you want to remove a Channel Registration IDENTIFY yourself as Founder of the Channel with the correct Password you entered while registering it and then use /chanserv DROP #channel. ChanServ will then leave the Channel and it is registerable by other Users then.

Return to the top of the page


9. Banning of Users from the Channel via ChanServ
You can tell ChanServ to ban a User from your Channel if you are Channel Operator. ChanServ will then automatically kick this User from your Channel and he won't be able to rejoin. If he tries it he will get an Error Message that he is banned.

Example:
/chanserv BAN #channel user [reason]
ChanServ will automatically add the Users Hostmask to the Channel Ban list. If you use mIRC as Client you can double click into your Channel to see the current Ban list and remove Bans if you are a Channel Operator.

Return to the top of the page


10. Forgotten Channel Founder Passwords
If you forget your Founder Password you can join into #irc-help and ask the IRCops there to retrieve it for you. They will ask you a few questions in order to verify that you are the rightful owner before they give it to you.

Return to the top of the page


Chanserv Guide - Version 1.1
Created 1.0 - 8 September, 2000
Updated to 1.1 - 23 February, 2009