This section describes the individual commands that Dancer understands. It is possible to add customized commands via the FPL interface -- such commands are not described here.
The commands are described in the following format
(level) command [options] arguments
level shows the default level of a command. This can be
changed with the CHGCMDLEV command, so to find the actual level of a
command use "
Verbose description of the command.
Describes options. Please note that options must always start with a hyphen (-) and must be placed before the any of the arguments
Describes which settings this command is dependent on.
References to other relevant commands.
Actual examples of the usage of the command.
(0) ALIAS <command>
Lists all possible aliases for a command. For example,
is an alias for
SVIEW. The aliases
are not listed in this documentation.
(200) BACKLOG (200) BACKLOG <amount>
Shows the last <amount> executed commands. If no <amount> is specified, it shows the last 5.
(50) BAN <nick> [<time>] [<reason>]
Bans a person from the channel for the specified time. Prepend a '*' to the nick to make a siteban. If <time> is 0 the ban is permanent.
The format of <time> is [[HH:]MM:]SS.
-E = Enforce. The ban will be enforced, ie. if someone with insufficient privileges removes it it will be put back on.
-K = Kick all. Kicks all users matching a specified pattern.
BANLIST, CHBAN, UNBAN
To put a ban for default bot ban time on foobar without a reason the bot select
To put a ban on foobar for 30 minutes without a reason
To put a ban on foobar for 1 hour and 5 seconds with the reason "Don't drink and irc"
BAN foobar 30:
To put an enforced permanent ban on all from the site where foobar comes from, with the reason "Get out"
BAN foobar 1::5 Don't drink and irc
BAN -e *foobar Get out
(50) BANLIST [<ban number>]
List the bans. If a number is specified, only that ban is displayed.
-A = All. More detail will be listed (how long ago the ban was set, the reason, etc.) -U = Unban. Includes the latest bans that has been removed.
BAN, CHBAN, UNBAN
(10) CALC <expression>
Arbitrary-precision arithmetic language. Can be used as a simple calculator. If the result is bigger than 3 lines, only the first 3 lines will be shown.
This is really just a frontend to the Unix 'bc' command.
EXECPROTECT must be off.
Enter or leave the on-line chat facility on the bot.
This is like a "channel-within-the-bot".
Once you enter this chat mode you have some extra special
commands available to you. These must be prepended by an
exclaimation mark (!). "
!help" gives you
a list of all of these commands.
When you are in chat mode all existing commands must be prepended with a dot (.).
This only works though a DCC connection.
(50) CHBAN <ban number> <new time>
Change the banning period of a specific ban. If <new time> is -1 the ban is removed; 0 makes the ban permanent.
-E = Enforce. Make the ban enforced.
-R = Rewrite. Make a new ban message.
-U = Undo. Remove enforcement.
BAN, BANLIST, UNBAN
(242) CHGCMDLEV <command> <level> (242) CHGCMDLEV <command> -
Changes the level of a command. Specifying - as <level> restores the level of the command to the original level.
(100) CKEY <key> (100) CKEY -
Locks a channel key. Specifying - as <key> removes the key.
KEY must be on.
Lists all users who have an active /dcc chat connection with the bot.
Show a list of available commands. Some commands have [<code>] appended. The code means
(100) CMODE (100) CMODE <modes>
Locks a set of channel modes on a channel. If someone changes the channel modes, the bot will restore the modes specified by this command. If <modes> is omitted, no modes will be enforced.
This is equivalent to "
SET CMODE <modes>".
MODE must be on.
(10) COMMENT <text>
Sets the comment field of your database entry. Only usable for registered users.
If COMMENT is enabled, the <text> will be displayed as a welcomming message when the user joins.
(10) CONVERT <value> <unit> (10) CONVERT <value> <unit> <number of decimals>
Converts length, weight, volume, area, and temperature of different units. Unit may be prepended by a prefix.
Supported units are:
To convert 33.2 meters into other lenght units
To convert 0.0552 kilograms into other weight units
CONVERT 33.2 meters
CONVERT 55.2e-3 kilograms
(10) CUT (242) CUT [ <nick> ]
Disconnects a dcc chat connection.
(200) DEFPASS <nick>
Install default password for <nick>. This should only be used at the request of <nick>.
(10) COUNTRY .<country-code> (10) COUNTRY <nick> (10) COUNTRY <country>
Show which country <nick> is from. If the argument starts with a dot (.) it looks for the country-code. If not preceeded by a dot and nickname is not found on the channel, it assumes that the argument is the name of a country and tries to find the closest match.
To show the name of the country which has the country-code .dk
To show which country foobar is from
To show the information on the country China
Receive debugging information through a dcc connection.
Stop receiving debugging information.
(200) DO <raw irc command>
The bot sends the <raw irc cmd> to the server. See RFC 1459
(10) EMAIL <nick>
Shows the email address of the <nick>, if it has been set.
(10) EXCHANGE LIST (10) EXCHANGE <currency> (10) EXCHANGE <amount> <from currency> <to currency>
Converts between various currencies. ISO 4217 abbreviations are used.
The actual currencies are
dependent on which the external scripts are able to download.
LIST" to see a list of currently known
If only <currency> is used, it will show a description of of the currency. In some cases a country-code can be used.
The last format converts <amount> units of <from currency> into <to currency>.
EXECPROTECT must be off.
External scripts and files must be installed. See the
To show a list of all available currencies
To show a description of the
To find out what currency is used in Sweden
To convert 11.5 UK pounds into German marks
To convert 4 US dollars into whatever currency is used in Denmark
EXCHANGE 11.5 ukp dem
EXCHANGE 4 USD Denmark
EXCHANGE 4 USD .dk
(200) EXPADD <word> <explaination> (200) EXPADD <word> = <explaination>
Adds an explaination, which can be displayed with the EXPLAIN command. <word> must be seperated from <explaination> with a '=' or a whitespace.
(10) EXPDEL <word>
Removes the word and its attached explanation.
(10) EXPLAIN <subject>
Shows an explaination to a subject. Question mark (?) and asterisk (*) may be used as wildcards in <subject>.
-S = Search through bodies of each explaination.
To show the explaination on foobar
To show all explainations that contain the word foobar
To show all words in the vocabulary that starts with the letter 'b'
EXPLAIN -s foobar
To show all words in the vocabulary
(10) FIND <regexp> (10) FIND <regexp> <matches>
Find a line in an index file. Regular expressions may be used for the search. <matches> specifies the maximal number of matches we are interested in. This defaults to 3. No more than 20 matches (5 matches in public commands) will be shown, no matter what.
(50) FINGER <nick> (50) FINGER <hostname>
Retrieve remote information about a user. This is basically a front-end for the Unix 'finger' command.
Options are passed on to the Unix 'finger' command.
EXECPROTECT must on off.
(100) GUESTLIST (100) GUESTLIST <match>
Shows all people on the channel. Wildcards (* and ?) can be used
XXX in the level field means yours or higher
-I = Internal. Shows additional debugging info. (This is only for level 242.)
(0) HELP (0) HELP <command>
If no arguments are passed this command shows a general help. If the argument is the name of a command, it shows a short description of that particular command.
(50) HOST <nick> (50) HOST <hostname>
Query nameserver about domain names and zones. This is basically a front-end for the Unix 'host' command.
Options are passed on to the Unix 'host' command.
EXECPROTECT must on off.
(50) JOIN <channel> (50) JOIN <channel> <key>
Joins a channel. If the channel has a channel key it can be added as well. If the bot already is on a channel it leaves this first.
(20) INVITE <password>
Get an invitation from the bot if it is on an invite-only (+i) channel.
(50) KICK <nick> [reason] (50) KICK <pattern> [reason]
Kicks a certain nick or all people matching a pattern off the channel. If <nick> is prepended by an asterisk (*) everybody from the same site will be kicked.
-K = Kick all. Kicks all with matching user account.
(20) KICKLIST (20) KICKLIST <match>
Shows the most recent kicks. Wildcards (* and ?) can be used in <match>.
Shows the last ping time between the bot and its server.
(10) LANGUAGE <language>
Changes your default language. This causes the bot to answer in that language if possible.
<language> can either be the native name of the language, or an abbreviation. Currently supported languages are
Leaves the current channel.
(20) ME <phrase>
Let the bot make a public action.
(100) MUTE ...
(10) MYNICK <nick>
This is an exotic command which you probably never have to use.
There are two types of authentication. One for /dcc chat connections and one for normal /msg. Normally, this distinction is unrelevant, because when you authenticate both types gets authenticated at the same time.
If the bot cannot see you on the channel (either because you aren't on the channel or you are on the other side of a netsplit) you loose the /msg authentication. If you don't change your nick the /dcc chat authentication gets transfered to the /msg authentication when it sees you again.
However, if you change your nick while the bot cannot see you, the /msg doesn't get authenticated automatically. Use this command to make the bot aware of your new nick.
If we assume that your new nick is foobar, send this though the /dcc chat connection.
(10) NEWPASS <password>
This command changes your password. You must already be authenticated with PASS before you can use this command. The password is stored in an encrypted format, and therefore not possible for the bot owner to see it.
If you forget your password, you can ask the bot owner to install a new one with DEFPASS.
If you forget the password and you are the bot owner, you are in trouble (you'll have to copy the encrypted string from dancer.h to your entry in the dancer.users file.)
Arguments to PASS and NEWPASS are hidden both for spylinks and the logfile, to ensure privacy.
(50) NEWSADD ...
NEWSDEL, NEWSLIST, TELLME
(50) NEWSDEL ...
NEWSADD, NEWSLIST, TELLME
(10) NEWSLIST ...
NEWSADD, NEWSDEL, TELLME
(50) NICK <newnick> (50) NICK +
Changes nickname to <newnick> or if the argument is '+' the next nick specified by the nickmask is choosen.
(20) OP (20) OP <password>
Grants chanop status to you. If an argument is provided it is assumed to be your password, and PASS is called before OP.
Makes the bot silent.
Makes the bot give up its virtual life.
(242) RELOAD (242) RELOAD <userfile>
Reloads the userfile.
Shows the rules as defined in the config file.
(20) SAY <phrase>
Let the bot say a phrase in public.
(0) SEEN <nick> (20) SEEN <host>
Reports when the bot last has seen someone. Unregistered users can only use <nick>. Chanops may also use <host>, which can contain wildcards (asterisks and questionmarks.)
Options can only be used by level 20 and above, and not in public requests.
-A = All. Shows everybody having used <nick>
-M = Most used. Shows the most often use of <nick>
-R = Recent. Shows the most recent use of <nick> (this is default behaviour)
To show when the nick foobar last was seen
To show all occurences of nick foobar
To show when the user foobar last was seen from any machine in the unsigned.int domain
SEEN -a foobar
To show when anyone from unsigned.int last was seen
(200) SERVER (200) SERVER <server>
Changes to another server. If no arguments is supplied it returns the name of the server it is currently using.
SERVERADD, SERVERDEL, SERVERLIST, SERVERSTAT
(200) SERVERADD <server> (200) SERVERADD <server> <port> (200) SERVERADD <server> <port> <password>
Adds the specified server with the optional options to the bot's list of servers.
SERVER, SERVERDEL, SERVERLIST, SERVERSTAT
(200) SERVERDEL <server>
Removes the specified server from the list. The specified parameter can be the ID shown in the SERVERLIST command. If the server was added in the bots .config file, it can't be removed completely, but will only get disabled.
SERVER, SERVERADD, SERVERLIST, SERVERSTAT
(200) SERVERLIST (200) SERVERLIST <pattern>
Displays all, or the matching servers from the serverlist. It also shows port number, if a password is used, a unique ID (that can be used with SERVERSTAT or SERVERDEL) and if the server is currently disabled.
SERVER, SERVERADD, SERVERDEL, SERVERSTAT
(200) SERVERSTAT (200) SERVERSTAT <server>
Without argument, it shows the status of the current server (if it exists in the serverlist). With a server specified, it shows the selected server's status.
-E = Enable the server
-D = Disable the server
SERVER, SERVERADD, SERVERDEL, SERVERLIST
(100) SET (100) SET <item> (100) SET <group> (100) SET <group>.<item> (100) SET <item> <value> (100) SET <group>.<item> <value>
Sets the value of a certain item. See the "Setting" chapter.
(10) SETEMAIL <address>
Sets your own email field in the bot's user database.
EMAIL, SET, SVIEW
(0) SHOW <nick> <command>
Redirect all output (except error messages) to <nick> (can also be a channel.)
To show foobar the output of "
SHOW foobar EXPLAIN xyz
(242) SHUTDOWN <time> (242) SHUTDOWN <time> <reason>
Broadcasts <reason> to all connected clients, waits for <time> and then quits. During the shutdown process no further commands (except those issued through a dcc connection) and no further dcc requests are accepted.
-C = Cancel. Cancels the shutdown process.
(10) SPELL <sentence>
Checks the spelling of each word in the sentence.
This command is basically a front-end to the Unix 'ispell' command.
EXECPROTECT must be off
Reports about the latest netsplits.
Establishes a spylink. A spylink relays all commands sent to the bot. All passwords and other private information (for example the contents of SEEN and TELL) are hidden before being sent to the spylink.
Removes a spylink.
Lists all users who have an active spylink.
Returns various information (including uptime.)
-A = All. Return as much information as possible.
(0) SVIEW (20) SVIEW <nick>
-A = Accounts.
-R = Registered user.
-S = Short.
(0) SYNTAX <command>
Shows a synopsis of the syntax of a command (a bit like these entries.)
Make the bot talkative. It will (with a certain percentage probability) reply to certain public patterns.
(10) TELL <nick> <message>
Leave a <message> for <nick>, who will receive it the next time (s)he joins. Although you specify a nickname, the bot wil do the recognition by host.
TELLDEL, TELLLIST, TELLME
To leave the message 'just do it' for foobar
TELL foobar just do it
(10) TELLDEL <who> (10) TELLDEL <tell ID>
Removes a message previously stored by you.
TELL, TELLLIST, TELLME
Shows all messages that you have stored for other people.
TELL, TELLDEL, TELLME
Relays the first unread message stored for you.
-A = All. Relay all messages at once.
TELL, TELLDEL, TELLLIST
Shows when and by whom the topic was set.
(10) TZ (10) TZ list (10) TZ [ now | <time> ] <country> (10) TZ <country 1> <country 2>
Converts between different timezones, or shows the current time in a specific timezone.
(50) UNBAN <nick> (50) UNBAN <pattern> (50) UNBAN <ban ID>
Removes a ban from the banlist.
BAN, BANLIST, CHBAN
Returns how long ago the bot was started.
This command adds the specified user to the bots database. A user must have certain fields of information. They are
Or you can change the users properties after the user has been added
with the "
-P = Pattern.
-Q = Quiet
-R = Registered nick.
USERDEL, USERMOD, USERLIST
If the defaults aren't what you want, you may change them with the flags when adding
USERADD foobar 10 firstname.lastname@example.org
USERADD -r FooBarbar -p foo@*.const.int foobar 10 email@example.com
USERADD, USERMOD, USERLIST
USERADD, USERDEL, USERLIST
Shows the list of registered users and their level.
-A = Accounts. Shows all registered accounts for each user.
USERADD, USERDEL, USERMOD
(50) VRFY <nick> (50) VRFY <address>
Used to verify an email address.
This is a front-end to the Unix 'vrfy' command.
EXECPROTECT must be off.
(242) WALL <phrase>
Broadcasts a message (Write ALL) to all active dcc clients. This can also be used to remove dead connections.
(100) WARNADD <nick> <description>
Adds a warning. If <nick> is prepended with an asterisk (*) then the entire domain will match the warning.
(100) WARNDEL <warn number>
Removes a warning.
Shows the warnings.
Lists the people are on the other side of a netsplit.
-A = Accounts. Shows the accounts of the splitted users.