chiark / gitweb /
Add servus.html from ~/public_html/irc
authorMatthew Vernon <matthew@rapun.sel.cam.ac.uk>
Wed, 5 Aug 2009 12:45:39 +0000 (13:45 +0100)
committerMatthew Vernon <matthew@rapun.sel.cam.ac.uk>
Wed, 5 Aug 2009 12:45:39 +0000 (13:45 +0100)
servus.html [new file with mode: 0644]

diff --git a/servus.html b/servus.html
new file mode 100644 (file)
index 0000000..812f666
--- /dev/null
@@ -0,0 +1,221 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html 
+     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+     "DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+
+<head>
+<title>Servus Documentation</title>
+<style type="text/css">
+body {background: white; color: black; text-align: left}
+h1 {text-align: center; font-weight: bold; font-size: xx-large}
+h2 {font-weight: bold; font-size: x-large}
+h3, h4, h5, h6 {font-weight: bold; font-size: large}
+li {list-style-type: circle}
+hr {clear: both}
+span.code {font-family: courier, monospace}
+</style>
+</head>
+
+<body>
+<h1>Servus Documentation</h1> 
+
+<h2>Introduction</h2>
+<p>Servus is one of the IRC bots on <span
+class="code">#chiark</span>. This page documents the available
+commands. A tarball of the source code is available, <a
+href="bot.tar.gz">here</a>, though may be a little out of date.</p>
+
+<h2>Invocation</h2>
+<p>Servus may be invoked in-channel using either <span
+class="code">!command</span> or <span
+class="code">~command</span>. Alternatively, you may pass commands by
+<span class="code">/msg</span>.
+</p>
+
+<h2>Commands</h2>
+
+<ul>
+<li><a href="#die">die</a></li>
+<li><a href="#do">do</a></li>
+<li><a href="#fish">fish</a></li>
+<li><a href="#flirt">flirt</a></li>
+<li><a href="#google">google</a></li>
+<li><a href="#help">help</a></li>
+<li><a href="#info">info</a></li>
+<li><a href="#karma">karma</a></li>
+<li><a href="#karmadel">karmadel</a></li>
+<li><a href="#karmalist">karmalist</a></li>
+<li><a href="#list">list</a></li>
+<li><a href="#quiet">quiet</a></li>
+<li><a href="#quit">quit</a></li>
+<li><a href="#reload">reload</a></li>
+<li><a href="#rot13">rot13</a></li>
+<li><a href="#say">say</a></li>
+<li><a href="#slash">slash</a></li>
+<li><a href="#trout">trout</a></li>
+<li><a href="#units">units</a></li>
+</ul>
+
+<hr />
+
+<h3><a name="die">die</a></h3>
+<p>This command must be invoked by <span class="code">/msg</span> only,
+and is only effective if invoked by the bot's owner. The bot
+exits.</p>
+
+<h3><a name="do">do</a></h3>
+<p>This command must be invoked by <span class="code">/msg</span>, and
+is only effective if invoked by the bot's owner. The syntax is:<br />
+<span class="code">/msg Servus do thing</span><br />...which results
+in output to the channel of the form:<br />
+<span class="code">* Servus/#chiark thing</span></p>
+
+<h3><a name="fish">fish</a></h3>
+<p>This command must be invoked by <span class="code">/msg</span>, 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 <span
+class="code">trout</span>, <span class="code">flirt</span>, and <span
+class="code">slash</span>).</p>
+
+<h3><a name="flirt">flirt</a></h3>
+<p>The syntax is:<br /> <span
+class="code">flirt target</span><br /> Servus picks a flirt at random
+from the flirts list (<span
+class="code">/home/matthew/programming/irc/flirts</span> on rapun),
+and substitutes "target" for "%s" in the flirt line. If this command
+is invoked by <span class="code">/msg</span>, 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 <a
+href="flirts">http://www.pick.ucam.org/~matthew/irc/flirts</a>.</p>
+
+<h3><a name="google">google</a></h3>
+<p>This command returns (either on-channel or by <span
+class="code">/msg</span>) the "I'm feeling lucky" result of google
+searching for the argument(s) of the "google" command.</p>
+
+<h3><a name="help">help</a></h3>
+<p>This command returns (either on-channel or by <span
+class="code">/msg</span>) the location of this help file.</p>
+
+<h3><a name="info">info</a></h3>
+<p>This command returns (either on-channel or by <span
+class="code">/msg</span>) 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</p>
+
+<h3><a name="karma">karma</a></h3>
+<p>The syntax is:<br />
+<span class="code">karma target</span><br />
+It returns (either on-channel or by <span class="code">/msg</span>)
+the current karma value for <span class="code">target</span> or "<span
+class="code">target has no karma set.</span>" as appropriate. Items
+gain or lose karma as the result of commands of the form:<br />
+<span class="code">target++</span><br />or<br />
+<span class="code">target--</span><br />
+Note that if issued in-channel, the initial <span
+class="code">!</span> or <span class="code">~</span> should not be
+included. Karma targets must be one word only.</p>
+
+<h3><a name="karmadel">karmadel</a></h3>
+<p>The syntax is:<br /> <span
+class="code">karmadel target</span><br /> <span
+class="code">target</span>'s karma entry is deleted. An error message
+is produced if <span class="code">target</span> has no karma set.</p>
+
+<h3><a name="karmalist">karmalist</a></h3>
+<p><span style="font-weight: bold">Do not use this
+command</span>. 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).</p>
+
+<h3><a name="list">list</a></h3>
+<p>This command returns (either on-channel or by <span
+class="code">/msg</span>) a list of the commands Servus
+understands</p> 
+
+<h3><a name="quiet">quiet</a></h3>
+<p>This command prevents the use of <span
+class="code">trout</span>, <span class="code">flirt</span>, and <span
+class="code">slash</span> for a short period of time (and will tell
+anyone who attempts to do so that you have invoked this command).</p> 
+
+<h3><a name="quit">quit</a></h3>
+<p>This command is identical to <a href="#die">die</a>.</p>
+
+<h3><a name="reload">reload</a></h3>
+<p>This command may only be invoked by <span class="code">/msg</span>,
+and only by the bot's owner. It causes Servus to re-load its <span
+class="code">trout</span>, <span class="code">flirt</span>, and <span
+class="code">slash</span> files, and to re-stock its fishpond.</p>
+
+<h3><a name="rot13">rot13</a></h3>
+<p>The syntax is:<br />
+<span class="code">rot13 some text</span><br />
+It returns by <span class="code">/msg</span>
+the argument rot13d (so "<span class="code">fbzr grkg</span>" in this
+case).</p>
+
+<h3><a name="say">say</a></h3>
+<p>This command must be invoked by <span class="code">/msg</span>, and
+is only effective if invoked by the bot's owner. The syntax is:<br />
+<span class="code">/msg Servus say thing</span><br />...which results
+in output to the channel of the form:<br />
+<span class="code">&lt;Servus&gt; thing</span></p>
+
+<h3><a name="slash">slash</a></h3>
+<p>The syntax is:<br /> <span
+class="code">slash target1 / target2 </span><br /> Servus picks a slash at random
+from the slashes list (<span
+class="code">/home/matthew/programming/irc/slashes</span> 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 <span class="code">/msg</span>, 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 <a
+href="slashes">http://www.pick.ucam.org/~matthew/irc/slashes</a>.</p>
+
+<h3><a name="trout">trout</a></h3>
+<p>The syntax is:<br /> <span
+class="code">trout target</span><br /> Servus picks a trout at random
+from the trouts list (<span
+class="code">/home/matthew/programming/irc/trouts</span> on rapun),
+and substitutes "target" for "%s" in the trout line. If this command
+is invoked by <span class="code">/msg</span>, 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
+<a href="trouts">http://www.pick.ucam.org/~matthew/irc/trouts</a>.</p>
+
+<h3><a name="units">units</a></h3>
+<p>The syntax is:<br /> <span
+class="code">units x unit1 as unit2</span><br />or:<br /> <span
+class="code">units unit1 as unit2</span><br />or:<br /> <span
+class="code">units x unit1 as ?</span><br />or:<br /> <span
+class="code">units unit1 as ?</span><br />
+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 <span class="code">units(1)</span>.</p>
+
+<hr />
+<address>
+  <a href="mailto:matthew@sel.cam.ac.uk">Matthew Vernon</a><br />
+  Cambridge, England
+</address>
+ <p>
+<a href="http://validator.w3.org/check/referer"><img
+        src="http://www.w3.org/Icons/valid-xhtml10"
+        alt="Valid XHTML 1.0!" height="31" width="88" /></a>
+<a href="http://jigsaw.w3.org/css-validator/check/referer">
+<img style="width:88px;height:31px"
+       src="http://jigsaw.w3.org/css-validator/images/vcss" 
+       alt="Valid CSS!" />
+</a>
+</p>
+</body>
+</html>
+