ChanServ
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 privileges.
Note that any channel which is not used for 14 days (i.e. which no user on the channel's access list enters for that period of time) will be automatically dropped.
To use a ChanServ command, type /cs command.
Contents
Default Channel Access Levels
CHANNEL ACCESS LEVELS (DEFAULT) | |
---|---|
ACCESS | DESCRIPTION |
|
|
Commands by Access Level
Founder (~) Level Commands
Note If your access level is above a SOP (100+) but you are not a founder, you may still have access to some of these commands
IDENTIFY
Authenticates you as the founder of the channel. If you wish for several users to obtain an automatic +oq when they enter the channel, you may share the password you used to create the channel with them (please share smartly and with caution).
- Syntax /cs identify #channel <password>
DROP
Deregisters a channel. You have to identify to the channel before using this command.
- Syntax /cs DROP #channel
SET
Allows the channel founder to set various channel options (registered channels).
SET | Command | Description |
FOUNDER | /cs SET #channel founder <nick> | Sets <nick> as founder for the channel |
PASSWORD | /cs SET #channel password <newpass> | Changes the existing FOUNDER password to the channel |
DESC | /cs SET #channel desc <description> | Changes the Channel Description in /cs info #channel |
TOPICLOCK | /cs SET #channel topiclock on/off | Enables the topic to be changed (or not) |
MLOCK | /cs SET #channel mlock <mode> | Ensures a channel mode is locked, so if no user is present the mode is retained |
PRIVATE | /cs SET #channel private on/off | Hides a channel from the /list command |
RESTRICTED | /cs SET #channel restricted on/off | Makes it so that only identified people on the access list are able to gain entry into the channel |
SECURE | /cs SET #channel secure on/off | Makes it so that only identified users will be given privileges on the channel as controlled by the access list (opping, etc). |
SECUREOPS | /cs SET #channel secureops on/off | When secure ops is set, users who are not on the access list will not be allowed chanop status. |
LEAVEOPS | /cs SET #channel leaveops on/off | When leave ops is set, CS will leave server ops (+o for the first person in the channel) in place even if the user would not normally get auto-opped. |
OPNOTICE | /cs SET #channel opnotice on/off | When op-notice is set, CS will send a notice to the channel whenever the OP, VOICE, or related commands are used for a user in the channel. |
ENFORCE | /cs SET #channel enforce on/off | If enforce is on, CS will not allow an AOP user to be de-opped etc. |
URL | /cs SET #channel url <url> | Sets the URL for a channel. |
/cs SET #channel email <email> | Sets an email for a channel. | |
ENTRYMSG | /cs SET #channel entrymsg <msg> | Sets the entry message for a channel. |
UNSET
Clears the given setting for a channel
- Syntax /cs UNSET #channel {SUCCESSOR | URL | EMAIL | ENTRYMSG}
SOP (&) Level Commands
AKICK COMMANDS
Used to maintain the channel's autokick list.
AKICK | Command | Description |
ADD | /cs akick #channel add mask [reason] | The AKICK ADD command adds the given user@host or nick!user@host mask 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". |
DEL | /cs AKICK #channel del <mask> | The AKICK DEL command removes the given mask from the autokick list. It does not, however, remove any bans placed by an autokick; those must be removed manually. |
LIST/VIEW | /cs AKICK #channel list/view <mask/list> | AKICK LIST command displays the autokick list, or optionally only those autokick entries which match the given. AKICK VIEW is similar, but shows more details. |
ENFORCE | /cs AKICK #channel enforce | ChanServ will enforce the current autokick list by removing those users who match an autokick mask. |
COUNT | /cs AKICK #channel count | The AKICK COUNT command returns how many entries there are on the autokick list. |
CLEAR COMMANDS
Tells ChanServ to clear certain settings on a channel.
CLEAR | Command | Description |
MODES | /cs CLEAR #channel modes | Clears all modes on the channel except those set in the channel's mlock. |
BANS | /cs CLEAR #channel bans | Clears all bans on a channel. |
EXCEPTIONS | /cs CLEAR #channel exceptions | Clears all exceptions on a channel. |
INVITES | /cs CLEAR #channel invites | Clears all invite masks on a channel. |
OPS/HALFOPS/VOICES | /cs CLEAR #channel ops/halfops/voices | Removes mode +o/+h/+v from all users. |
USERS | /cs CLEAR #channel users | Kicks all users from the channel. |
AOP (@) Level Commands
HOP (%) Level Commands
VOP (+) Level Commands
CHANGING A CHANNEL'S ACCESS LIST
access
The access list specifies which users are allowed chanop status or access to ChanServ commands on the channel. Different user levels allow for access to different subsets of privileges; /msg ChanServ HELP ACCESS LEVELS for more specific information. Any nickname not on the access list has a user level of 0.
The ACCESS ADD command adds the given nickname to the access list with the given user level; if the nick is already present on the list, its access level is changed to the level specified in the command. The level specified must be less than that of the user giving the command.
Syntax: ACCESS #channel ADD nickname level ACCESS #channel DEL {nickname | entry-num | list} ACCESS #channel LIST [mask | list] ACCESS #channel COUNT
sop
Used to maintain the channel's SOP(&) list. Users with SOP status are automatically opped (set mode +o) and protected (mode +a) when they join the channel if they have identified with NickServ.
A SOP can modify the AOP, HOP and VOP lists. Only a channel's founder can modify the SOP list.
Syntax: SOP #channel ADD/DEL nickname SOP #channel LIST [mask | list] SOP #channel COUNT
aop
Used to maintain the channel's AOP(@) list. If someone is on a channel's AOP list, they will automatically gain a @ when joining the channel if they have identified with NickServ.
Syntax: AOP #channel ADD nickname AOP #channel DEL nickname AOP #channel LIST [mask | list] AOP #channel COUNT
hop
Used to maintain the channel's HOP(%) list. If someone is on a channel's HOP list, they will automatically gain a % when joining the channel if they have identified with NickServ.
Syntax: HOP #channel ADD nickname HOP #channel DEL nickname HOP #channel LIST [mask | list] HOP #channel COUNT
vop
Used to maintain the channel's VOP(+) list. If someone is on a channel's VOP list, they will automatically gain a + when joining the channel if they have identified with NickServ.
Syntax: VOP #channel ADD nickname VOP #channel DEL nickname VOP #channel LIST [mask | list] VOP #channel COUNT
CHANGING A CHANNEL OP LIST (TEMPORARY)
Used to confer or take away ops from a user in the channel. However, this does not affect the access list.
protect
Gives channel protection to a selected nickname.
Syntax: PROTECT channel [nickname]
deprotect
Removes channel protection from a selected nickname.
Syntax: DEPROTECT channel [nickname]
op
Ops a selected nickname on a channel
Syntax: OP channel [nickname]
deop
Removes operator status from a selected nickname.
Syntax: DEOP channel [nickname]
halfop
Gives halfop access to a selected nickname on a channel.
Syntax: HALFOP channel [nickname]
dehalfop
Removes half op access from a selected nickname on a channel.
Syntax: DEHALFOP channel [nickname]
voice
Voices a selected nickname on a channel
Syntax: VOICE channel [nickname]
devoice
Devoices a selected nickname on a channel using ChanServ.
Syntax: DEVOICE channel [nickname]
INFO
Lists information about a registered channel.
INVITE
Tells ChanServ to invite you into the given channel
KICK
Kicks the given nickname from the given channel
LEVELS
Lets you define the access level required for most of ChanServ's functions
LIST
Lists all registered channels matching the given pattern
REGISTER
Registers a channel
STATUS
Returns the current access level of the given nickname on the given channel
TOPIC
Sets the channel topic through ChanServ
UNBAN
Removes all bans preventing you from entering the given channel
REGISTERING A CHANNEL
In order to register a channel, use the following command.
- /msg chanserv register #channel password description
Replace #channel with the channel you are trying to register. Replace password with a password that will only be used for channel administration (not one that is required for users to know to join the channel). Replace description with a description of your channel, this will be publicly visible.
Securing a Kingdom Channel
When creating a private channel for a kingdom, it is important that only authorized members are able to get in. These modes may be used in combination to help secure a private kingdom channel.
/cs set mlock #channel +s
- This makes a channel secret and not show up when users are /whois 'd. It will also not show up on the channels list. Therefore, only people that know of the channel’s existence will be able to join the channel. This is a basic step in ensuring that your channel is secure – however once someone knows what your channel is called there is nothing to stop them from joining anyway.
- This is a CRUCIAL step. If netsplits happen, channels which have not had the secret mode modelocked to the channel will show up in /list as well as their topics, which is a severe security breach if you have wave info etc. on the channel topic.
/cs set mlock #channel +k <key>
- This applies a key/password to the channel. Note that this is NOT the same as the password you used to create the channel. In order to join the channel, people then need to type /join #channel <key>. However, there are several key breakers in irc and if this lock is applied by itself it does not ensure security as your channel is still not-secreted and anyone with the key will be able to join.
/cs set mlock #channel +i
- Using mode +i makes your channel invite-only - that is, only someone who has been invited to the channel first may join the channel. The advantage with mode +i is that if you need someone in your channel once, they can come in for just that occasion, and they will not be able to return.
- If you have access to the channel and/or are a kingdom member, just use /cs invite #channel for an invite from ChanServ, and add it to your autojoin list - /ns ajoin add #channel and this will bypass the need to use the ChanServ invite everytime you connect onto IRC.
/cs set #channel Restricted on
ChanServ has an option, called "restricted", which will prevent anyone not on the ChanServ access list from remaining in the channel. Beware, however, as people can still join, however they will then be immediately kicked and banned. This will allow them to see your topic, any channel modes, how many users are in your channel, and who is in your channel. This option is best used in combination with other options. To apply restricted mode, you must use the "set" command, which is usually restricted to the founder (owner) of the channel.
- For ease of use, the best combination is mode +s and the use of the Restricted Method.
- For the highest security, the best combination is mode +s, mode +i, and the use of the Restricted Method.