Servus Documentation

Introduction

Servus is one of the IRC bots on #chiark. This page documents the available commands. You can get a copy of the source code by running git-clone http://www.pick.ucam.org/~matthew/irc/.git

Invocation

Servus may be invoked in-channel using either !command or ~command. Alternatively, you may pass commands by /msg.

Commands


define

This command returns (either on-channel or by /msg) a definition of the argument(s) of the "define" command. This is done by using a "define:" query on google, so the results may be a little unusual at times...

die

This command must be invoked by /msg only, and is only effective if invoked by the bot's owner. The bot exits.

do

This command must be invoked by /msg, and is only effective if invoked by the bot's owner. The syntax is:
/msg Servus do thing
...which results in output to the channel of the form:
* Servus/#chiark thing

fish

This command must be invoked by /msg, and is only effective if invoked by the bot's owner. It returns some details about the internal state of the "fishpond" (a simple rate-limiting feature for restricting the over-use of trout, flirt, and slash).

flirt

The syntax is:
flirt target
Servus picks a flirt at random from the flirts list (/home/matthew/programming/irc/bot/flirts on rapun), and substitutes "target" for "%s" in the flirt line. If this command is invoked by /msg, there is a 10% chance of Servus stating who invoked it by adding "(but nick is their secret admirer)" to the end of the flirt. Further suggestions for flirts should be submitted by email; a list of current flirts may be found online at http://www.pick.ucam.org/~matthew/irc/flirts.

google

This command returns (either on-channel or by /msg) the "I'm feeling lucky" result of google searching for the argument(s) of the "google" command.

help

This command returns (either on-channel or by /msg) the location of this help file.

info

This command returns (either on-channel or by /msg) information about the software version running, which channel the bot is on, the bot's owner, and how many items have karma recorded about them

karma

The syntax is:
karma target
It returns (either on-channel or by /msg) the current karma value for target or "target has no karma set." as appropriate. Items gain or lose karma as the result of commands of the form:
target++
or
target--
Note that if issued in-channel, the initial ! or ~ should not be included. Karma targets must be one word only.

karmadel

The syntax is:
karmadel target
target's karma entry is deleted. An error message is produced if target has no karma set.

karmalist

Do not use this command. Servus has too long a list of karma items, so attempting to use this command will DoS the bot (it gets temporarily removed from channel for excess flooding).

list

This command returns (either on-channel or by /msg) a list of the commands Servus understands

quiet

This command prevents the use of trout, flirt, and slash for a short period of time (and will tell anyone who attempts to do so that you have invoked this command).

quit

This command is identical to die.

reload

This command may only be invoked by /msg, and only by the bot's owner. It causes Servus to re-load its trout, flirt, and slash files, and to re-stock its fishpond.

rot13

The syntax is:
rot13 some text
It returns by /msg the argument rot13d (so "fbzr grkg" in this case).

say

This command must be invoked by /msg, and is only effective if invoked by the bot's owner. The syntax is:
/msg Servus say thing
...which results in output to the channel of the form:
<Servus> thing

slash

The syntax is:
slash target1 / target2
Servus picks a slash at random from the slashes list (/home/matthew/programming/irc/bot/slashes on rapun), and substitutes "target1" for the first "%s" and "target2 for the second "%s" in the slash line. If this command is invoked by /msg, there is a 10% chance of Servus stating who invoked it by adding "(while nick watches)" to the end of the slash. Further suggestions for slashes should be submitted by email; a list of current slashes may be found online at http://www.pick.ucam.org/~matthew/irc/slashes.

trout

The syntax is:
trout target
Servus picks a trout at random from the trouts list (/home/matthew/programming/irc/bot/trouts on rapun), and substitutes "target" for "%s" in the trout line. If this command is invoked by /msg, there is a 10% chance of Servus stating who invoked it by adding "(at the instigation of nick)" to the end of the trout. Further suggestions for trouts should be submitted by email; a list of current trouts may be found online at http://www.pick.ucam.org/~matthew/irc/trouts.

units

The syntax is:
units x unit1 as unit2
or:
units unit1 as unit2
or:
units x unit1 as ?
or:
units unit1 as ?
The first two will give the first value in terms of the second unit; the latter two forms convert the first value into SI units. This command is implemented by calling units(1).


Matthew Vernon
Cambridge, England

Valid XHTML 1.0! Valid CSS!