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