irkerd: Add InvalidRequest and use it to flatten Irker.handle()
[irker.git] / irkerd.xml
index 9d3907ac6d3f2cf73fdde95cdfa5accb551bce80..c2c37fb53d61a5021a74debfbb8b16e2ed0b773b 100644 (file)
      <arg>-l <replaceable>logfile</replaceable></arg>
      <arg>-n <replaceable>nick</replaceable></arg>
      <arg>-p <replaceable>password</replaceable></arg>
+     <arg>-i <replaceable>IRC-URL</replaceable></arg>
      <arg>-V</arg>
-        <arg>-h</arg>
+     <arg>-h</arg>
+     <arg choice='opt'><replaceable>message text</replaceable></arg>
 </cmdsynopsis>
 </refsynopsisdiv>
 
@@ -34,6 +36,11 @@ client intended to be used for shipping notification messages to IRC
 channels. The use case in mind when it was designed was broadcasting
 notifications from commit hooks in version-control systems.</para>
 
+<para>The main advantage of relaying through this daemon over
+individual scripted sends from applications is that it can maintain
+connection state for multiple channels, rather than producing obnoxious
+join/leave channel spam on every message.</para>
+
 <para><application>irkerd</application> is a socket server that
 listens on for UDP or TCP packets on port 6659 for textual request
 lines containing JSON objects and terminated by a newline. Each JSON
@@ -65,10 +72,10 @@ form <quote>?secret</quote> or <quote>?key=secret</quote>, where
 <quote>secret</quote> is the channel key.</para>
 
 <para>An empty message is legal and will cause
-<application>irkerd</application> to join the target channels without
-actually emitting a message.  This may be useful for advertising that
-an instance is up and running, or for joining a channel to log its
-traffic.</para>
+<application>irkerd</application> to join or maintain a connection to
+the target channels without actually emitting a message.  This may be
+useful for advertising that an instance is up and running, or for
+joining a channel to log its traffic.</para>
 </refsect1>
 
 <refsect1 id='options'><title>OPTIONS</title>
@@ -100,7 +107,13 @@ in the event of a nick collision.</para></listitem>
 <term>-p</term>
 <listitem><para>Takes a following value, setting a nickserv
 password to be used. If given, this password is shipped to
-authenticate the nick on receipt of a welcom message.</para></listitem>
+authenticate the nick on receipt of a welcome message.</para></listitem>
+</varlistentry>
+<varlistentry>
+<term>-i</term>
+<listitem><para>Immediate mode, to be run in foreground. Takes two
+following values interpreted as a channel URL and a message
+string. Sends the message, then quits.</para></listitem>
 </varlistentry>
 <varlistentry>
 <term>-V</term>
@@ -109,8 +122,7 @@ terminate.</para></listitem>
 </varlistentry>
 <varlistentry>
 <term>-h</term>
-<listitem><para>Print usage instructions and
-terminate.</para></listitem>
+<listitem><para>Print usage instructions and terminate.</para></listitem>
 </varlistentry>
 </variablelist>
 
@@ -154,8 +166,7 @@ discarded. </para>
 project page at <ulink
 url='http://www.catb.org/~esr/irker'>http://www.catb.org/~esr/irker</ulink>
 for updates and other resources, including an installable repository
-hook script. The implementation uses the Python IRC library by Joe
-Rosdahl and Jason R. Coombs.</para>
+hook script.</para>
 </refsect1>
 </refentry>