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.chiark.greenend.org.uk/~matthewv/irc/.git,
or via gitweb at http://www.chiark.greenend.org.uk/ucgi/~matthewv/git/irc.git/.
Servus may be invoked in-channel using either !command or ~command. Alternatively, you may pass commands by /msg.
The syntax is:
blame text
or:
blame #trouts text
or:
blame #flirts text
or:
blame #slashes text
or:
blame #last
The first form will search for text in the
trouts, flirts, and slashes lists, and return information on
when the relevant item was added, and by whom. The next three
forms restrict the search to the specified list. The last form
is a special case that searches for the last trout, flirt, or
slash that Servus emitted.
The syntax is:
currency curr1 as curr2
This will give the first currency in terms of the second
currency. Currencies must be specified using their standard currency
code. The currency conversion is performed using xe.com's
currency converter.
This command no longer works, as google have broken 'define'-style searches; it will return an error message if invoked.
This command must be invoked by /msg only, and is only effective if invoked by the bot's owner. The bot exits.
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
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).
The syntax is:
flirt target
Servus picks a flirt at random
from the flirts list (/u2/matthewv/programming/irc/flirts on chiark),
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.chiark.greenend.org.uk/~matthewv/irc/flirts.
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.
This command returns (either on-channel or by /msg) the location of this help file.
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
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.
The syntax is:
karmadel target
target's karma entry is deleted. An error message
is produced if target has no karma set.
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).
This command returns (either on-channel or by /msg) a list of the commands Servus understands
This command is the same as url, only you should use it for URLs that are not work-safe. Servus will replace the "http" in your URL with "nsfw", before passing it to url.
This is an alias for nsfw.
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).
This command is identical to die.
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.
The syntax is:
rot13 some text
It returns by /msg
the argument rot13d (so "fbzr grkg" in this
case).
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
The syntax is:
slash target1 / target2
Servus picks a slash at random
from the slashes list (/u2/matthewv/programming/irc/slashes on chiark),
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.chiark.greenend.org.uk/~matthewv/irc/slashes.
The syntax is:
trout target
Servus picks a trout at random
from the trouts list (/u2/matthewv/programming/irc/trouts on chiark),
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.chiark.greenend.org.uk/~matthewv/irc/trouts.
The syntax is:
twit twitter-url
Servus returns (either on-channel or by /msg) the content
of the tweet and the twitter user who posted it.
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).
Servus now tracks URLs pasted into #chiark, and will comment if you post a duplicate
URL. The url command provides a way for you
to check if a URL has been posted before (if not, Servus posts it on
your behalf). The syntax is:
/msg Servus url
http://some.url
Servus will either paste the URL into
channel, or /msg you to tell you it was a
duplicate; in the latter case, the URL will be sent to #urls. Although you can use this command
in-channel (and get a response by /msg ),
this is discouraged. Servus also understands nsfw:// and nsfws://
URLs, and knows they are an obfuscation of the relevant http:// or https:// URL
for URLs that are not work-safe. You can make your firefox understand
nsfw:// URLS by visiting http://www.chiark.greenend.org.uk/~owend/free/nsfw/.