<h2>Commands</h2>
<ul>
+<li><a href="#define">define</a></li>
<li><a href="#die">die</a></li>
<li><a href="#do">do</a></li>
<li><a href="#fish">fish</a></li>
<li><a href="#slash">slash</a></li>
<li><a href="#trout">trout</a></li>
<li><a href="#units">units</a></li>
+<li><a href="#url">url</a></li>
</ul>
<hr />
+<h3><a name="define">define</a></h3>
+<p>This command returns (either on-channel or by <span
+class="code">/msg</span>) 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...</p>
+
<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
<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),
+class="code">/home/matthew/programming/irc/bot/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
<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),
+class="code">/home/matthew/programming/irc/bot/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
<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),
+class="code">/home/matthew/programming/irc/bot/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
the latter two forms convert the first value into SI units. This
command is implemented by calling <span class="code">units(1)</span>.</p>
+<h3><a name="url">url</a></h3>
+<p>Servus now tracks URLs pasted into <span
+class="code">#chiark</span>, and will comment if you post a duplicate
+URL. The <span class="code">url</span> 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:<br />
+<span class="code">/msg Servus url http://some.url</span><br />
+Servus will either paste the URL into channel, or <span
+class="code">/msg</span> you to tell you it was a duplicate. Although
+you can use this command in-channel (and get a response by <span
+class="code">/msg </span>), this is discouraged.</p>
+
<hr />
<address>
<a href="mailto:matthew@sel.cam.ac.uk">Matthew Vernon</a><br />