ChanServ

ChanServ gives normal users the ability to maintain control of a channel, without the need of a bot. Channel takeovers are virtually impossible when a channel is registered with ChanServ. Registration is a quick and painless process. Once registered, the founder can maintain complete and total control over the channel. Please note that channels will expire after 365 days of inactivity, or if there are no eligible channel successors. Activity is defined as a user with one of +FHORfhorsv being on the channel. Successors are primarily those who have the +R flag set on their account in the channel, although other people may be chosen depending on their access level and activity.

ACCESS ADD
Description ACCESS ADD will assign the given user to the given channel role.
Syntax ACCESS <#channel> ADD <user> <role>
Examples /msg ChanServ ACCESS #atheme ADD stitch helpers
ACCESS DEL
Description

ACCESS DEL will remove all channel access from a given user.

Syntax ACCESS <#channel> DEL <user>
Examples /msg ChanServ ACCESS #atheme DEL stitch
ACCESS INFO
Description

ACCESS INFO displays what level of access a given user has in a given channel. It will display role, long-form flags and short-form flags along with the last date the user's access was modified.

Syntax ACCESS <#channel> INFO <user>
Examples /msg ChanServ ACCESS #atheme INFO nenolod
ACCESS LIST
Description

ACCESS LIST lists all users with channel access and their roles in the channel. It uses fuzzy matching so if a user does not exactly match any role, they will be listed as the closest role they match.

Syntax ACCESS <#channel> LIST
Examples /msg ChanServ ACCESS #atheme LIST
ACCESS SET
Description

ACCESS SET will change the given user's role to the given channel role.

Syntax ACCESS <#channel> SET <user> <role>
Examples /msg ChanServ ACCESS #atheme SET stitch lowlevel-staff
AKICK
Description

The AKICK command allows you to maintain channel ban lists. Users on the AKICK list will be automatically kickbanned when they join the channel, removing any matching ban exceptions first. Users with the +r flag are exempt.

Syntax AKICK <#channel> ADD <nickname|hostmask> [!P|!T <minutes>] [reason]
AKICK <#channel> DEL <nickname|hostmask>
AKICK <#channel> LIST
Examples /msg ChanServ AKICK #foo ADD bar you are annoying | private op info
/msg ChanServ AKICK #foo ADD *!*foo@bar.com !T 5d
/msg ChanServ AKICK #foo DEL bar
/msg ChanServ AKICK #foo LIST
BAN
Description

The BAN command allows you to ban a user or hostmask from a channel.

Syntax BAN <#channel> <nickname|hostmask>
Examples /msg ChanServ BAN #chat carnell
/msg ChanServ BAN #chat *!*@*.ipt.aol.com
INFO
Description

INFO displays account information such as registration time, flags, and other details. Additionally it will display registration and last seen time of the nick you give.

You can query the nick a user is logged in as by specifying an equals sign followed by their nick. This '=' convention works with most commands.

Syntax Syntax: INFO <nickname>
Syntax: INFO =<online user>
Examples /msg NickServ INFO w00t Shows information about the registered nick w00t.
/msg NickServ INFO =w00tie[home] Shows information about the registered nick the user w00tie[home] is logged in as.
CLEAR AKICKS
Description

CLEAR AKICKS will remove all AKICK entries, including all access list entries whose only flags are +b, from a channel's access list.

This command can only be used by users with the +R and +f flags.

Syntax CLEAR <#channel> AKICKS
Examples /msg ChanServ CLEAR #atheme AKICKS
CLEAR BANS
Description

Clear bans will remove all bans found in a specific channel. If your ircd supports other lists associated with a channel (e.g. ban exceptions), you can clear these by specifying the mode letters. Specify an asterisk to clear all lists.

Syntax CLEAR <#channel> BANS [types]
Examples /msg ChanServ CLEAR #support BANS
/msg ChanServ CLEAR #support BANS eI
/msg ChanServ CLEAR #support BANS *
/msg ChanServ CLEAR #support BANS +
CLEAR FLAGS
Description

CLEAR FLAGS will remove all flags from all users (or groups) with channel access on the channel specified except for users who are channel founders.

This command can only be used by channel founders.

Syntax CLEAR <#channel> FLAGS
Examples /msg ChanServ CLEAR #atheme FLAGS
CLEAR USERS
Description

Clear users will kick all users out of the channel, except you. The channel will be cycled (recreated) if you are not on it.

If a reason is specified, it will be included in the kick message.

Syntax CLEAR <#channel> USERS [reason]
Examples /msg ChanServ CLEAR #ChatZone USERS
CLONE
Description

CLONE copies a channel's chanacs and metadata to a new channel. Both channels must be registered with ChanServ and you must be founder in the target channel for this command to work.

It will not copy the topic as most people will want that different between the 2 channels.

It will also remove all chanacs (except founders) and metadata of the same type from the target channel.

Syntax CLONE <#source-channel> <#target-channel>
Examples /msg ChanServ CLONE #funstuff #morefun
COUNT
Description

This will give a count of how many entries are in each of the channel's xOP lists and how many entries on the access list do not match a xOP value.

The second line shows how many access entries have each flag.

Syntax COUNT <#channel>
Examples /msg ChanServ COUNT #oscn
DROP
Description

DROP allows you to "unregister" a registered channel.

Once you DROP a channel all of the data associated with it (access lists, etc) are removed and cannot be restored.

See help on SET FOUNDER and FLAGS for transferring a channel to another user.

Syntax DROP <#channel>
Examples /msg ChanServ DROP #foo
FLAGS
Description

The FLAGS command allows for the granting/removal of channel privileges on a more specific, non-generalized level. It supports nicknames, groups and hostmasks as targets.

When only the channel argument is given, a listing of permissions granted to users will be displayed. Otherwise, an access entry is modified. A modification may be specified by a template name (changes the access to the template) or a flags change (starts with + or -). See the TEMPLATE help entry for more information about templates.

If you are not a founder, you may only manipulate flags you have yourself, and may not edit users that have flags you don't have. For this purpose, +v grants the ability to grant +V, +o grants the ability to grant +O, and +r grants the ability to grant +b. If you are not a founder, you may only manipulate flags you have yourself, and may not edit users that have flags you don't have. For this purpose, +v grants the ability to grant +V, +h grants the ability to grant +H, +o grants the ability to grant +O, and +r grants the ability to grant +b.

As of Atheme 7.0, there are now extended entity targets which allow you to match chanacs against a situation instead of against a nickname, hostmask or group.

Available exttargets are: $oper - Any user who is an oper (user mode +o). $registered - Any user who is identified to services. $channel:#channel - Any user who is the member of the given channel. $server:server.name - Any user who is connected to the given server.
(The server name may have wildcards.) $chanacs:#channel - Any user with channel access in the given channel
(including hostmasks).

Permissions:
+v - Enables use of the voice/devoice commands.
+V - Enables automatic voice.
+h - Enables use of the halfop/dehalfop commands.
+H - Enables automatic halfop.
+o - Enables use of the op/deop commands.
+O - Enables automatic op.
+a - Enables use of the protect/deprotect commands.
+q - Enables use of the owner/deowner commands.
+s - Enables use of the set command.
+i - Enables use of the invite and getkey commands.
+r - Enables use of the kick, kickban, ban and unban commands.
+r - Enables use of the ban and unban commands.
+r - Enables use of the unban command.
+R - Enables use of the recover, sync and clear commands.
+f - Enables modification of channel access lists.
+t - Enables use of the topic and topicappend commands.
+A - Enables viewing of channel access lists.
+S - Marks the user as a successor.
+F - Grants full founder access.
+b - Enables automatic kickban.
+e - Exempts from +b and enables unbanning self.

The special permission +* adds all permissions except +b, +S, and +F. The special permission +* adds all permissions except +b and +F. The special permission -* removes all permissions including +b and +F.

Syntax FLAGS <#channel> [nickname|hostmask|group|exttarget] [template|flag_changes]
Examples /msg ChanServ FLAGS #foo
/msg ChanServ FLAGS #foo foo!*@bar.com VOP
/msg ChanServ FLAGS #foo foo!*@bar.com -V+oO
/msg ChanServ FLAGS #foo foo!*@bar.com -*
/msg ChanServ FLAGS #foo foo +oOtsi
/msg ChanServ FLAGS #foo TroubleUser!*@*.troubleisp.net +b
/msg ChanServ FLAGS #foo !baz +*
GETKEY
Description

GETKEY returns the key (+k, password to be allowed in) of the specified channel: /join #channel key

Syntax GETKEY <#channel>
Examples /msg ChanServ GETKEY #foo
INFO
Description

INFO displays channel information such as registration time, flags, and other details.

Syntax INFO <#channel>
Examples /msg ChanServ INFO #foo
INVITE
Description

INVITE requests services to invite you to the specified channel. This is useful if you use the +i channel mode.

Syntax INVITE <#channel>
Examples /msg ChanServ INVITE #foo
KICK
Description

The KICK command allows for the removal of a user from a channel. The user can immediately rejoin.

Your nick will be added to the kick reason.

Syntax KICK <#channel> <nick> [reason]
Examples /msg ChanServ KICK #foo abuser
/msg ChanServ KICK #foo abuser please stop
KICKBAN
Description

The KICKBAN command allows for the removal of a user from a channel while placing a ban on the user.

Any matching ban exceptions will be removed.

Syntax KICKBAN <#channel> <nick> [reason]
Examples /msg ChanServ KICKBAN #foo abuser
/msg ChanServ KICKBAN #foo abuser go away
OP|DEOP|HALFOP|DEHALFOP|VOICE|DEVOICE
Description

These commands perform status mode changes on a channel.

If you perform an operation on another user, they will be notified that you did it.

If the last parameter is omitted the action is performed on the person requesting the command.

Syntax OP|DEOP <#channel> [nickname]
HALFOP|HALFDEOP <#channel> [nickname]
VOICE|DEVOICE <#channel> [nickname]
Examples /msg ChanServ OP #foo bar
/msg ChanServ DEVOICE #foo
QUIET
Description

The QUIET command allows you to mute a user or hostmask in a channel. Affected users will be notified that you did it.

Syntax QUIET <#channel> <nickname|hostmask>
Examples /msg ChanServ QUIET #chat AfterDeath
/msg ChanServ QUIET #chat *!*@*.ipt.aol.com
RECOVER
Description

RECOVER allows you to regain control of your channel in the event of a takeover.

More precisely, everyone will be deopped, limit and key will be cleared, all bans matching you are removed, a ban exception matching you is added (in case of bans Atheme can't see), the channel is set invite-only and moderated and you are invited.

If you are on channel, you will be opped and no ban exception will be added.

Syntax RECOVER <#channel>
Examples /msg ChanServ RECOVER #foo
REGISTER
Description

REGISTER allows you to register a channel so that you have better control. Registration allows you to maintain a channel access list and other functions that are normally provided by IRC bots.

Syntax REGISTER <#channel>
Examples /msg ChanServ REGISTER #atheme
ROLE ADD
Description

ROLE ADD will create a channel role with the given flags. Multiple flags should be separated by a space.

Flags:
+voice - Enables use of the voice/devoice commands.
+autovoice - Enables automatic voice.
+halfop - Enables use of the halfop/dehalfop commands.
+autohalfop - Enables automatic halfop.
+op - Enables use of the op/deop commands.
+autoop - Enables automatic op.
+protect - Enables use of the protect/deprotect commands.
+owner - Enables use of the owner/deowner commands.
+set - Enables use of the set command.
+invite - Enables use of the invite and getkey commands.
+remove - Enables use of the kick, kickban, ban and unban commands.
+remove - Enables use of the ban and unban commands.
+remove - Enables use of the unban command.
+recover - Enables use of the recover and clear commands.
+acl-change - Enables modification of channel access lists.
+topic - Enables use of the topic and topicappend commands.
+acl-view - Enables viewing of channel access lists.
+successor - Marks the user as a successor.
+founder - Grants full founder access.
+banned - Enables automatic kickban.

Syntax ROLE <#channel> ADD <role> [flags]
Examples /msg ChanServ ROLE #atheme ADD helpers topic autovoice
ROLE DEL
Description

ROLE DEL will delete a channel-specific role.

Syntax ROLE <#channel> DEL <role>
Examples /msg ChanServ ROLE #atheme DEL helpers
ROLE LIST
Description

ROLE LIST lists all channel-specific and network-wide roles and the flags that each role has.

Syntax ROLE <#channel> LIST
Examples /msg ChanServ ROLE #baz LIST
ROLE SET
Description

ROLE SET allows you to modify the flags of a role that already exists. All users in the given role will receive the effects of the changes. Multiple flags should be separated by a space and have the modifier (+ or -) before each flag.

Syntax ROLE <#channel> SET <role> <flags>
Examples /msg ChanServ ROLE #atheme SET channel-ops +acl-change +set +recover
/msg ChanServ ROLE #atheme SET helpers +invite
/msg ChanServ ROLE #foo SET helpers -topic -invite
SET ANTIFLOOD
Description

SET ANTIFLOOD configures ChanServ flood control settings. The action parameter can be QUIET, KICKBAN or AKILL. Flood control can be turned off using the OFF setting, and turned on using default settings with the ON setting.

Syntax SET <#channel> ANTIFLOOD <ON|OFF|KICKBAN|QUIET>
Examples /msg ChanServ SET #channel ANTIFLOOD QUIET
/msg ChanServ SET #silence ANTIFLOOD KICKBAN
/msg ChanServ SET #coders ANTIFLOOD OFF
/msg ChanServ SET #defocus ANTIFLOOD ON
SET EMAIL
Description

SET EMAIL allows you to change or set the email address associated with a channel. This is shown to all users in INFO.

If no email address is specified, it will remove the current email address

Syntax SET <#channel> EMAIL [email]
Examples /msg ChanServ SET #chat EMAIL some@email.address
SET ENTRYMSG
Description

SET ENTRYMSG allows you to change or set a message sent to all users joining the channel.

Syntax SET <#channel> ENTRYMSG [message]
Examples /msg ChanServ SET #support ENTRYMSG Welcome to #support. Please do not paste more than 5 lines.
SET FANTASY
Description

SET FANTASY allows you to enable or disable ChanServ fantasy commands (!op, !deop, etc.) on your channel.

GUARD must be enabled as well for fantasy commands to work.

Syntax SET <#channel> FANTASY <ON|OFF>
Examples /msg ChanServ SET #chatspike FANTASY ON
SET GUARD
Description

SET GUARD allows you to have ChanServ join your channel.

Syntax SET <#channel> GUARD <ON|OFF>
Examples /msg ChanServ SET #atheme GUARD ON
SET KEEPTOPIC
Description

SET KEEPTOPIC enables restoration of the old topic after the channel has become empty. In some cases, it may revert topic changes after netsplits or services outages, so it is not recommended to turn this on if your channel tends to never empty.

Syntax SET <#channel> KEEPTOPIC <ON|OFF>
Examples /msg ChanServ SET #foo KEEPTOPIC ON
SET MLOCK
Description

MLOCK (or "mode lock") allows you to enforce a set of modes on a channel. This can prevent abuse in cases such as +kl. It can also make it harder to fight evil bots, be careful. Locked modes can be seen by anyone recreating the channel (this includes keys).

Syntax SET <#channel> MLOCK [modes]
Examples /msg ChanServ SET #foo MLOCK +nt-lk
/msg ChanServ SET #foo MLOCK +inst-kl
/msg ChanServ SET #c MLOCK +ntk c
/msg ChanServ SET #foo MLOCK +ntcjf-kl 2:30 #overflow
/msg ChanServ SET #overflow MLOCK +mntF-kljf
/msg ChanServ SET #foo1 MLOCK +ntlL 40 #foo2
SET NOSYNC
Description

SET NOSYNC allows channel staff to disable automatic syncing of channel status when it is changed.

Syntax SET <#channel> NOSYNC <ON|OFF>
Examples /msg ChanServ SET #foo NOSYNC ON
SET PREFIX
Description

PREFIX allows you to customize the channel fantasy trigger for your channel. This is particularly useful if you have channel bots that conflict with ChanServ's default fantasy prefix. Providing no prefix argument (or DEFAULT) resets the channel fantasy prefix to the network default prefix.

Syntax SET <#channel> PREFIX [prefix]
Examples /msg ChanServ SET #foo PREFIX
/msg ChanServ SET #foo PREFIX '
/msg ChanServ SET #c PREFIX %
/msg ChanServ SET #c PREFIX default
SET PRIVATE
Description

SET PRIVATE hides various information about the channel from other users.

Syntax SET <#channel> PRIVATE <ON|OFF>
Examples /msg ChanServ SET #foo PRIVATE ON
SET PROPERTY
Description

SET PROPERTY manipulates metadata associated with a channel.

To delete a metadata entry, specify the name and leave the value blank.

Syntax SET <#channel> PROPERTY <name> [value]
Examples /msg ChanServ SET #atheme PROPERTY URL http://www.atheme.org/
/msg ChanServ SET #meat PROPERTY VEGETABLES
SET RESTRICTED
Description

SET RESTRICTED designates a channel as restricted access. Users who are not on the access list of the channel, or who do not have the chan:joinstaffonly privilege will be kicked and banned from the channel upon join, removing any ban exceptions matching them first. If the channel is set +i, no ban will be set and invite exceptions will be removed.

Syntax SET <#channel> RESTRICTED <ON|OFF>
Examples /msg ChanServ SET #snoop RESTRICTED ON
SET SECURE
Description

SET SECURE prevents anyone that's not on the channel's access lists from gaining operator or halfop status on the channel. This is useful if you're paranoid.

Syntax SET <#channel> SECURE <ON|OFF>
Examples /msg ChanServ SET #foo SECURE ON
SET TOPICLOCK
Description

SET TOPICLOCK causes ChanServ to revert topic changes by users without the +t flag. Topic changes during netsplits or services outages will always be reverted.

TOPICLOCK requires KEEPTOPIC and will automatically enable it; disabling KEEPTOPIC will disable TOPICLOCK also.

Syntax SET <#channel> TOPICLOCK <ON|OFF>
Examples /msg ChanServ SET #foo TOPICLOCK ON
SET URL
Description

SET URL allows you to change or set the URL associated with a channel. This is shown to all users joining the channel.

Syntax SET <#channel> URL [url]
Examples /msg ChanServ SET #chat URL http://slashdot.org
SET VERBOSE
Description

SET VERBOSE ON sends a notice to the channel when someone makes changes to the access lists.

SET VERBOSE OPS sends a notice to the channel operators when someone makes changes to the access lists.

Fantasy commands are always executed as if SET VERBOSE ON is in effect.

Syntax SET <#channel> VERBOSE <ON|OPS|OFF>
Examples /msg ChanServ SET #foo VERBOSE ON
STATUS
Description

STATUS returns information about your current state. It will show information about your nickname, IRC operator, and SRA status.

If the channel parameter is specified, your access to the given channel is returned.

Syntax STATUS [#channel]
Examples /msg ChanServ STATUS
/msg ChanServ STATUS #foo
SYNC
Description

The SYNC command will force all channel statuses to flags, giving and taking away ops, voice and so on where necessary. You must have the channel flag +R to run this command.

Syntax SYNC <#channel>
Examples /msg ChanServ SYNC #bar
TAXONOMY
Description

The taxonomy command lists metadata information associated with registered channels.

Syntax TAXONOMY
Examples /msg ChanServ TAXONOMY #atheme
TEMPLATE
Description

The TEMPLATE command allows definition of sets of flags, simplifying the use of the FLAGS command.

Without arguments, network wide templates are shown. When given only the channel argument, a listing of templates for the channel will be displayed.

Otherwise, a template is modified. A modification may be specified by a template name (copies the template) or a flags change (starts with + or -, optionally preceded by an !). Templates cannot be the empty set (making a template empty deletes it).

If the ! form is used, all access entries which exactly match the template are changed accordingly. This is not supported if the template includes or included founder access (+F).

There is a limit on the length of all templates on a channel.

If you are not a founder, similar restrictions apply as in FLAGS.

Syntax TEMPLATE
TEMPLATE <#channel>
TEMPLATE <#channel> [template oldtemplate]
TEMPLATE <#channel> [template flag_changes]
TEMPLATE <#channel> [template !flag_changes]
Examples /msg ChanServ TEMPLATE #foo
/msg ChanServ TEMPLATE #foo user VOP
/msg ChanServ TEMPLATE #foo user !+A
/msg ChanServ TEMPLATE #foo co-founder +*-OH
/msg ChanServ TEMPLATE #foo op -*+vVhoti
/msg ChanServ TEMPLATE #foo co-founder +*-O
/msg ChanServ TEMPLATE #foo op -*+vVoti
/msg ChanServ TEMPLATE #foo obsoletetemplate -*
TOPIC
Description

The TOPIC command allows for the changing of a topic on a channel.

Syntax TOPIC <#channel> <topic>
Examples /msg ChanServ TOPIC #foo bar
TOPICAPPEND
Description

The TOPICAPPEND command allows for the addition to a topic on a channel.

Syntax TOPICAPPEND <#channel> <topic>
Examples /msg ChanServ TOPICAPPEND #foo bar
TOPICPREPEND
Description

The TOPICPREPEND command allows for the addition to a topic on a channel.

Syntax TOPICPREPEND <#channel> <topic>
Examples /msg ChanServ TOPICPREPEND #foo bar
TOPICSWAP
Description

The TOPICSWAP command allows you to swap out part of a topic

Syntax TOPICSWAP <search_string:replace_string>
Examples /msg ChanServ TOPICSWAP #Chat one:two
UNBAN
Description

The UNBAN command allows you to unban a user or hostmask from a channel. If no nickname or hostmask is specified, you are unbanned.

Syntax UNBAN <#channel> [nickname|hostmask]
Examples /msg ChanServ UNBAN #chat
/msg ChanServ UNBAN #chat pfish
/msg ChanServ UNBAN #chat *!*@*.ucdavis.edu
UNQUIET
Description

The UNQUIET command allows you to unmute a user or hostmask in a channel. If no nickname or hostmask is specified, you are unquieted.

Affected users will be notified that you did it.

Syntax UNQUIET <#channel> [nickname|hostmask]
Examples /msg ChanServ UNQUIET #chat Diablo-D3
/msg ChanServ UNQUIET #chat *!*@*.trilug.org
WHY
Description

The WHY command shows the access entries an online user matches.

Syntax WHY <#channel> [nickname]
Examples /msg ChanServ WHY #atheme jilles^