User Commands
Fantasy commands allow you to use simple shortcuts in place of many of the NickServ, ChanServ, and BotServ commands. The available commands are listed below; to use them, just type the command indicated (for instance, For more information on a specific command, type !help command. The Fantasy commands are arranged in xxx areas:
- General Commands – General commands available. No special access required.
- Access Control Commands – Commands to manipulate channel access and levels list(s).
- Channel Settings Commands – Commands to configure the channels’ settings and lists.
- Channel Action Commands – Commands that will make services perform certain actions.
- Channel Modes Commands – Commands that set certain channel modes.
Using Fantasy Commands
To use Fantasy commands, you first have to turn on the option, using this command:
/msg botserv set #channel fantasy on
For instance, if I wanted to turn on Fantasy commands in #topgear, I’d use this command:
/bs set #topgear fantasy on
Once Fantasy commands are turned on, you can use any of the commands below, as long as you have the proper access. In other words, you cannot kick someone if you’re not a hop or op on the channel.
General Commands
!HELP
Syntax: !HELP Help for BotServ fantasy commands
!INFO
Syntax: !INFO #channel Shows information about the channel.
Access Control Commands
!SOP
Syntax: !SOP add nick !SOP del {nick | entry-num | list} !SOP list [mask | list] !SOP clear Maintains the SOP (SuperOP) list for the channel. The SOP list gives users all rights given by the AOP list, and adds those needed to use the AutoKick and the BadWords lists, to send and read channel memos, and so on. This command may have been disabled for your channel, and in that case you need to use the access list. See HELP ACCESS for information about the access list, and HELP SET XOP to know how to toggle between the access list and xOP list systems.
!AOP
Syntax: !AOP add nick !AOP del {nick | entry-num | list} !AOP list [mask | list] !AOP clear Maintains the AOP (AutoOP) list for the channel. The AOP list gives users the right to be auto-opped on your channel, to unban or invite themselves if needed, to have their greet message showed on join, and so on. This command may have been disabled for your channel, and in that case you need to use the access list. See HELP ACCESS for information about the access list, and HELP SET XOP to know how to toggle between the access list and xOP list systems.
!HOP
Syntax: !HOP add nick !HOP del {nick | entry-num | list} !HOP list [mask | list] !HOP clear Maintains the HOP (HalfOP) list for the channel. The HOP list gives users the right to be auto-halfopped on your channel This command may have been disabled for your channel, and in that case you need to use the access list. See HELP ACCESS for information about the access list, and HELP SET XOP to know how to toggle between the access list and xOP list systems. Provides access to the HOP (HalfOP) list.
!VOP
Syntax: !VOP add nick !VOP del {nick | entry-num | list} !VOP list [mask | list] !VOP clear Maintains the VOP (VOicePeople) list for a channel. The VOP list allows users to be auto-voiced and to voice themselves if they aren't. This command may have been disabled for your channel, and in that case you need to use the access list. See HELP ACCESS for information about the access list, and HELP SET XOP to know how to toggle between the access list and xOP list systems.
!ACCESS
Syntax: !ACCESS add nick level !ACCESS del {nick | entry-num | list} !ACCESS list [mask | list] !ACCESS clear Maintains the access list for a channel. The access list specifies which users are allowed chanop status or access to commands on the channel. Different user levels allow for access to different subsets of privileges; cf. /msg ChanServ HELP ACCESS LEVELS for more specific information. Any nick not on the access list has a user level of 0.
!LEVELS
Syntax: !LEVELS set type level !LEVELS {dis | disable} type !LEVELS list !LEVELS reset The LEVELS command allows fine control over the meaning of the numeric access levels used for the channel. With this command, you can define the access level required for most administrative functions. (The SET FOUNDER and SET PASSWORD commands, as well as this command, are always restricted to the channel founder.) LEVELS SET allows the access level for a function or group of functions to be changed. LEVELS DISABLE (or DIS for short) disables an automatic feature or disallows access to a function by anyone other than the channel founder. LEVELS LIST shows the current levels for each function or group of functions. LEVELS RESET resets the levels to the default levels of a newly-created channel. (See /msg ChanServ HELP ACCESS LEVELS for more info.) For a list of the features and functions whose levels can be set, see HELP LEVELS DESC.
Channel Setting Commands
!AKICK
Syntax: !AKICK add {mask | user} [reason] !AKICK {stick | unstick | del} mask !AKICK {list | view} [mask] !AKICK {enforce | clear} Maintains the channel AKICK list. See the ChanServ AKICK command for more details.
!CLONE
Syntax: !CLONE channel target [what] Copies all settings, access, akicks, etc from channel to the target channel. If what is ACCESS, AKICK, BADWORDS or LEVELS then only the respective settings are cloned. You must be the founder of channel and target.
!FLAGS
Syntax: FLAGS channel [MODIFY] mask changes FLAGS channel LIST [mask | +flags] FLAGS channel CLEAR FLAGS is another way to modify the channel access list, similar to the XOP and ACCESS methods. The MODIFY command allows you to modify the access list. If the mask is not already on the access list it is added, then the changes are applied. If the mask has no more flags, then the mask is removed from the access list. Additionally, you may use +* or -* to add or remove all flags, respectively. You are only able to modify the access list if you have the proper permission on the channel, and even then you can only give other people access to the equivalent of what your access is. The LIST command allows you to list existing entries on the channel access list. If a mask is given, the mask is wildcard matched against all existing entries on the access list, and only those entries are returned. If a set of flags is given, only those on the access list with the specified flags are returned. The CLEAR command clears the channel access list. This requires channel founder access. The available flags are: A - Automatic protect upon join a - Allowed to (de)protect users a - Allowed to (de)protect him/herself b - Allowed to ban users B - Allowed to use SAY and ACT commands c - Allowed to use fantasy commands f - Allowed to modify the access list f - Allowed to view the access list F - Allowed to issue commands restricted to channel founders G - Allowed to use GETKEY command g - Greet message displayed on join H - Automatic halfop upon join h - Allowed to (de)halfop users h - Allowed to (de)halfop him/herself I - Allowed to get full INFO output i - Allowed to use the INVITE command K - Allowed to use the AKICK command K - Allowed to modify channel badwords list k - Allowed to use the KICK command K - No signed kick when SIGNKICK LEVEL is used m - Allowed to read channel memos N - Prevents users being kicked by Services O - Automatic channel operator status upon join o - Allowed to (de)op users o - Allowed to (de)op him/herself Q - Automatic owner upon join q - Allowed to (de)owner users q - Allowed to (de)owner him/herself s - Allowed to assign/unassign a bot s - Allowed to use the MODE command s - Allowed to set channel settings t - Allowed to change channel topics u - Allowed to unban users V - Automatic voice on join v - Allowed to (de)voice users v - Allowed to (de)voice him/herself
Channel Action Commands
!TOPIC
Syntax: !TOPIC [topic] !CTOPIC Sets the channel topic. If no topic is given, the current topic is displayed in the channel. The CTOPIC command clears the topic. This command is most useful in conjunction with SET TOPICLOCK See the ChanServ TOPIC command for more details.
!ENTRYMSG
Syntax: ENTRYMSG channel ADD message ENTRYMSG channel DEL num ENTRYMSG channel LIST ENTRYMSG channel CLEAR Controls what messages will be sent to users when they join the channel. The ENTRYMSG ADD command adds the given message to the list of messages shown to users when they join the channel. The ENTRYMSG DEL command removes the specified message from the list of messages shown to users when they join the channel. You can remove a message by specifying its number which you can get by listing the messages as explained below. The ENTRYMSG LIST command displays a listing of messages shown to users when they join the channel. The ENTRYMSG CLEAR command clears all entries from the list of messages shown to users when they join the channel, effectively disabling entry messages. Adding, deleting, or clearing entry messages requires the SET permission.
!SEEN
Syntax: SEEN nick Checks for the last time nick was seen joining, leaving, or changing nick on the network and tells you when and, depending on channel or user settings, where it was.
!LOG
Syntax: LOG channel LOG channel command method [status] The LOG command allows users to configure logging settings for their channel. If no parameters are given this command lists the current logging methods in place for this channel. Otherwise, command must be a command name, and method is one of the following logging methods: MESSAGE [status], NOTICE [status], MEMO Which are used to message, notice, and memo the channel respectively. With MESSAGE or NOTICE you must have a service bot assigned to and joined to your channel. Status may be a channel status such as @ or +. To remove a logging method use the same syntax as you would to add it. Example: LOG #anope chanserv/access MESSAGE @ Would message any channel operators whenever someone used the ACCESS command on ChanServ on the channel.
!INVITE
Syntax: !INVITE Invites 'nick' to the channel if the user is present on the network.
!UP
Syntax: !UP Gives the user the modes he has rights to. This will unset modes if he has any the user has no access to. Note: A nick can only be specified by the founder of the channel or a Services Root Administrator.
!DOWN
Syntax: !DOWN [nick] [level] Unsets all modes. If the channel is moderated, it will reset voice, unless issued on another user by a founder. It is also possible to specify a target level. The target level can be any one of the following: - q - Channel founder (modes +qo) (IRCd Dependant) - a - Protected Operator / Administrator (modes +ao) (IRCd Dependant) - o - Channel Operator (mode +o) - h - Channel Halfop (mode +h) (IRCd Dependant) - v - \"Voice\" (mode +v) If a target level is specified, the users' current privileges will be replaced by the target one. Note: A nick can only be specified by the founder of the channel or a Services Root Administrator.
!KICK or !K
Syntax: !KICK [nick [reason]] Kick a user from the channel. See the ChanServ KICK command for more details.
!KB
Syntax: {!KICKBAN | !KB} [nick!]ident@host] [reason] This will kick and ban the specified user or all users matching the given mask from the channel. If a mask is given and someone who should not be kicked according to the channels' settings matches it, the command is aborted before anyone is kicked or banned.
!STATUS
Syntax: STATUS channel [user] This command tells you what a users access is on a channel and what access entries, if any, they match. Additionally it will tell you of any auto kick entries they match. Usage of this command is limited to users who have the ability to modify access entries on the channel.
Channel Modes Commands
!BAN
Syntax: !BAN [nick | mask] Bans (a) user(s)/mask from the channel without kicking.
!ENFORCE
Syntax: ENFORCE channel what Enforce various channel modes and set options. The channel option indicates what channel to enforce the modes and options on. The what option indicates what modes and options to enforce, and can be any of SECUREOPS, RESTRICTED, REGONLY, SSLONLY, BANS, or LIMIT. Use SECUREOPS to enforce the SECUREOPS option, even if it is not enabled. Use RESTRICTED to enforce the RESTRICTED option, also if it's not enabled. Use REGONLY to kick all unregistered users from the channel. Use SSLONLY to kick all users not using a secure connection from the channel. BANS will enforce bans on the channel by kicking users affected by them, and LIMIT will kick users until the user count drops below the channel limit, if one is set.
!UNBAN
Syntax: !UNBAN [nick | [nick!]ident@host] Removes the ban on a user.
!MUTE
Syntax: !MUTE [nick | mask] Bans or mutes the given nickname or usermask from the channel. See the Silencing Users with Extended Bans for more details.
!OP
Syntax: !OP [nick] Op yourself or another user. See the ChanServ OP command for more details.
!DEOP
Syntax: !DEOP [nick] Deop yourself or another user. See the ChanServ OP command for more details.
!VOICE
Syntax: !VOICE [nick] Voice yourself or another user. See the ChanServ VOICE command for more details.
!DEVOICE
Syntax: !DEVOICE [nick] Devoice yourself or another user. See the ChanServ DEVOICE command for more details.
!PROTECT
Syntax: !PROTECT [nick] Protect yourself or another user (so you cannot be kicked). See the ChanServ PROTECT command for more details.
!DEPROTECT
Syntax: !DEPROTECT [nick] Remove protection from yourself or another user. See the ChanServ DEPROTECT command for more details.
!OWNER
Syntax: !OWNER Give yourself the owner mode. See the ChanServ OWNER command for more details.
!DEOWNER
Syntax: !DEOWNER Remove the owner mode. See the ChanServ DEOWNER command for more details.
!HALFOP
Syntax: !HALFOP [nick] Halfop yourself or another user. See the ChanServ HALFOP command for more details.
!DEHALFOP
Syntax: !DEHALFOP [nick] Dehalfop yourself or another user. See the ChanServ DEHALFOP command for more details.
!QOP
Syntax: QOP channel ADD mask QOP channel DEL {mask | entry-num | list} QOP channel LIST [mask | list] QOP channel CLEAR Maintains the QOP list for a channel. Users who match an access entry on the QOP list receive the following privileges: ASSIGN, AUTOOWNER, FOUNDER, INFO, MODE, OWNER, OWNERME, PROTECT, SET, SIGNKICK The QOP ADD command adds the given nickname to the QOP list. The QOP DEL command removes the given nick from the QOP list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.) The QOP LIST command displays the QOP 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; for example: QOP #channel LIST 2-5,7-9 Lists QOP entries numbered 2 through 5 and 7 through 9. The QOP CLEAR command clears all entries of the QOP list. Alternative methods of modifying channel access lists are available. See /msg ChanServ HELP ACCESS for more information about the access list. See /msg ChanServ HELP FLAGS for more information about the flags system.
!SYNC
Syntax: SYNC channel Syncs all modes set on users on the channel with the modes they should have based on their access.
Services Admin Commands
!MODE
Syntax: !MODE mode(s) This will set the specified modes on the channel. This command may be disabled. See the OperServ MODE command for more details.
!SUSPEND
Syntax: SUSPEND channel [+expiry] [reason] Disallows anyone from using the given channel. May be cancelled by using the UNSUSPEND command to preserve all previous channel data/settings. If an expiry is given the channel will be unsuspended after that period of time, else the default expiry from the configuration is used. Reason may be required on certain networks. Access to this command requires the permission chanserv/suspend to be present in your opertype.
!UNSUSPEND
Syntax: UNSUSPEND channel Releases a suspended channel. All data and settings are preserved from before the suspension. Access to this command requires the permission chanserv/suspend to be present in your opertype.
!LIST
Syntax: LIST pattern [SUSPENDED] [NOEXPIRE] Lists all registered channels matching the given pattern. Channels with the PRIVATE option set will only be displayed to Services Operators with the proper access. Channels with the NOEXPIRE option set will have a ! prefixed to the channel for Services Operators to see. Note that a preceding '#' specifies a range, channel names are to be written without '#'. If the SUSPENDED or NOEXPIRE options are given, only channels which, respectively, are SUSPENDED or have the NOEXPIRE flag set will be displayed. If multiple options are given, all channels matching at least one option will be displayed. Note that these options are limited to Services Operators. Examples: LIST anope Lists all registered channels with anope in their names (case insensitive). LIST * NOEXPIRE Lists all registered channels which have been set to not expire. LIST #51-100 Lists all registered channels within the given range (51-100). Regex matches are also supported using the regex/pcre engine. Enclose your pattern in // if this is desired.
Services Extras
!REDIRECT
Syntax: REDIRECT nick channel Parts given nick from channel and forces him to join to a specified channel. Examples: !REDIRECT luser #support - redirects nick luser from active channel to a #support /cs REDIRECT #main luser #support - redirects nick luser from #main to a #support
!TELEPORT
Syntax: TELEPORT nick channel Ban and parts given nick from channel and forces him to join to a specified channel Examples: !TELEPORT luser #support - teleports nick luser from active channel to a #support /cs TELEPORT #main luser #support - teleports nick luser from #main to a #support