chiark / gitweb /
help.pl, helpinfos: Proper virtual hosting on jazz.
[ircbot] / helpinfos
index 9b25a58593e7aa272db76c731583ab2a84bedd99..7155584997c466f563f3e85aedf298e99abd330d 100644 (file)
--- a/helpinfos
+++ b/helpinfos
@@ -1,20 +1,23 @@
 ::wwwtitle     Blight (chiark IRC bot) help
-::wwwaddress   chiark IRC operators <ircop@chiark>
+::wwwaddress   distorted.org.uk IRC operators <irc@distorted.org.uk>
 
 :
-See http://www.chiark.greenend.org.uk/ucgi/~ijackson/blight-help
+See http://irc.distorted.org.uk/help/
 or /msg me with `help !overview'.
 
 :overview
 General commands:           Registration and user settings:
  !help [<cmd>|<opt>|<topic>]  !register [insecure|delete]
- !seen <nick>                 !set [<opt> [<value>]]      who [<nick>]
+ !seen <nick>                 !set [<opt> [<value>]]      !who [<nick>]
  !summon <username>           (See `help !identify', `help !blight-id')
- !invite [<chan>] <nick>...  Channel settings (see `help channel'):
- !op [<chan>]                 !channel [<chan>] <setting> [....]
- !leave [<chan>]             Additional help topics:
-                             !identify !identpass !invite !blight-id
+ !invite [<chan>] <nick>...  For channel managers (`help !channel'):
+ !ping [<stuff ...>]          !op [<chan>]
+ !kill <nick> [<reason>]      !leave [<chan>]
+ !tell <nick> <message ...>   !channel [<chan>] <setting> [....]
+Additional help topics:
+ !tutorial (long\!)  !identify !identpass !invite !blight-id
 Send commands to me by /msg, or say them in channel with \! in front.
+To get me on a channel, invite me.  To become channel manager, op me.
 
 :help
 help             gives an overview and lists the topics &c
@@ -22,6 +25,42 @@ help <command>   gives help on a command
 help <opt>       gives help on an option
 help <topic>     gives help on an additional topic
 
+:tell
+tell <nick> <message ...>
+ Leaves a message for someone, which will be delivered according to
+ their `!set !tellme'.  I will tell you about your undelivered tells
+ whenever I see you arriving, or when you say `!ping'.  See also
+ `help !untell' and `help !delmsg'.
+
+:untell
+!untell <nick> ...
+ Forgets about all message(s) you've sent with !tell to particular
+ nick(s).  Use !delmsg to delete messages sent *to* you.  There is no
+ way to untell individual messages to the same nick.  If your nick is
+ secure, you must !identify yourself to use untell.
+
+:tellme
+The !tellme command repeats any messages you have outstanding.
+!set tellme configures how you receive messages sent with !tell:
+ set tellme insecure              When I see you.
+ set tellme secure [<!interval>]   Hide body (reminding) until ident.
+ set tellme reject                Do not accept messages.
+ set tellme mailto <email-addr>   By email.  (Secure nicks only.)
+Default: `secure 600'.  For insecure nicks `secure' == `insecure'.
+To set when to consider messages delivered (see `help !untell'):
+ set tellme unreliable            Tell you once, then forget.
+ set tellme remind [<every-interval> [<within-interval>]]
+    Remind until you talk on channel within <within-interval>
+    of me having told you.  (Default is remind 1h 30s.)
+ set tellme pester <interval>     Remind until you say !delmsg
+
+:delmsg
+delmsg [<nick> ...]
+ Forgets about !tell messages I've passed on: either all of them, or
+ only those from certain nicks.  Necessary if you !set !tellme pester
+ or reliable, and also works with remind, but not with unreliable.
+ Use !untell to delete messages you've sent, rather than received.
+
 :seen
 seen <nick>
  Tells you or the channel when I last saw that nick in
@@ -29,9 +68,23 @@ seen <nick>
 
 :summon
 summon <username>
- Invites a logged-on user onto IRC.  If the user is not logged on
- you'll be told.  Target users can change this (eg, to disable it)
- by reconfiguring the userv service `irc-summon'.  See ~ian/.userv.
+ Invites a user onto IRC.  By default a message (like a talk request)
+ will be written to their terminal; if they're not logged on to the
+ machine running Blight, or are `mesg n', you'll be told.  A user can
+ change the way they are summoned (eg, to disable it) by reconfiguring
+ the userv service `irc-summon'.  See `help !irc-summon'.
+
+:irc-summon
+userv <user> irc-summon <callingnick> <callingpath> <channel>
+ This userv invocation is invoked by Blight when `!summon' is used.
+ For examples of how to (re)configure it, see
+  ~ian/.userv/services.d/irc-summon
+  /etc/userv/services.d/irc-summon
+ The service should immediately print one of these, and exit:
+  problem <description>   =>  The user `<user>' <description>.
+  ok <tty> <lastactivity> =>..invites <user> (<tty>, idle for ..)..
+ and Blight will respond as shown.  <tty> need not be an actual
+ terminal name; <lastactivity> must be a decimal absolute time_t).
 
 :who
 who [<nick>]
@@ -64,7 +117,7 @@ leave <channel>       (privately)
 channel [<chan>] [show]                       show settings
 channel [<chan>] !manager +|-|= <nick> ...     set manager list
 channel [<chan>] !autojoin yes|no              join at bot start ?
-channel [<chan>] !userinvite pub|here|all|none who can \!invite ?
+channel [<chan>] !userinvite pub|here|all|none who can !invite ?
 channel [<chan>] !mode *|+...-...              set modes when alone
 channel [<chan>] !topic leave | set <topic>    set topic when alone?
 channel [<chan>] !topic see|tell +|-|= <chan>|* ...
@@ -97,6 +150,7 @@ channel [<chan>] userinvite all    anyone can \!invite and /msg
 channel [<chan>] userinvite none   \!invite and /msg are disabled
  Controls whether the `invite' command works for this channel, and
  who can use it (`help !invite').  `userinvite pub' is the default.
+ Channel managers can always use the `invite' command.
 
 :mode
 !channel [<chan>] mode *|+...-...           (`mode *' is default.)
@@ -148,8 +202,15 @@ By default this checks the md5sum against ~/.userv/irc-pass-md5.
 invite <nick> ...             on channel
 invite <channel> <nick> ...   privately
  This command gets me to invite the specified people to the channel.
+ This is useful because only IRC channel operators can use /invite.
  This can be disabled for managed channels - see `help !userinvite'.
-To get me to join a channel, just invite me to it.
+To get me to join a channel, a channel operator should /invite me.
+
+:kill
+kill <nick> [<reason>]
+ Asks me to throw that client off IRC completely, using my IRC
+ Operator privilege.  You must have identified yourself as the user
+ to whom the nick is registered.  (See `help !register'.)
 
 :register
 register            register your nick (or make it secure)
@@ -165,30 +226,40 @@ register insecure   register your nick insecurely
 set                  show your current settings
 set <option>         show the current setting of <option>
 set <option> <value> set <option> to <value>
- Options:   !timeformat ks|hms   !marktime off|once|<n>[k]s|<n>m|<n>h
+ Options:  !timeformat ks|hms|beat
+           !marktime off|once|<n>[k]s|<n>m|<n>h
+           !tellme ...
  See also `help <option>', `help !register' and `help !identify'
 
 :timeformat
-!set timeformat ks   show times in seconds, kiloseconds, etc.
-set timeformat hms  use days, hours, minutes, seconds
+!set timeformat ks    show times in seconds, kiloseconds, etc.
+set timeformat hms   use days, hours, minutes, seconds
+set timeformat beat  use beats (1000 B = 1 day)
 
 :ping
 ping [<string>]
 Replies with hopefully-useful information, including:
-* Current time, number of users on the system, and load average.
+* Current time, number of IRC and system users, and load averages.
 * Most recent traffic on a relevant channel (if sent privately, any
   channel we're both on, otherwise the channel in question.)  Only
   actual message traffic counts, and \!-commands don't count either.
 * The specified string, if any.
 I can tell you this automatically if you like - see `help !marktime'.
+If you have undelivered messages sent with !tell by or to you, I'll
+let you know about those too (privately, if you ping on channel).
 
 :marktime
-!set marktime off    Only an explicit `!ping' command sends you info.
-set marktime once   Send ping info shortly after I first see you.
-set marktime <n>s   Also send info every <n> seconds (min 300s).
-set marktime <n>ks  Also send info every <n> kiloseconds (min 1ks).
-set marktime <n>m   Also send info every <n> minutes (min 5m).
-set marktime <n>h   Also send info every <n> hours (min 1h).
+!set marktime off        Only an explicit `!ping' command sends info.
+set marktime once       Send ping info shortly after I first see you.
+set marktime <!interval> Also send info regularly (min. interval 5m).
+
+:interval
+Intervals in commands are <amount><unit>, where the unit is one of
+s for seconds, ks for kiloseconds, m for minutes, h for hours.
+
+:tutorial
+Sorry, there is no tutorial.  If you would like to contribute by
+writing one, please email ijackson@chiark.greenend.org.uk.
 
 # Local variables:
 # fill-column: 69