chiark / gitweb /
Abandon crappy changes to diagram. Sort out repeated notification problems when...
[ircbot] / helpinfos
index aa9a1744df9f5ee8cfb5d2a8898f7b1ffa767f61..2cf8e7b09ff182e01533abe6502275fb8f6ce647 100644 (file)
--- a/helpinfos
+++ b/helpinfos
@@ -12,9 +12,11 @@ General commands:           Registration and user settings:
  !summon <username>           (See `help !identify', `help !blight-id')
  !invite [<chan>] <nick>...  Channel settings (see `help channel'):
  !op [<chan>]                 !channel [<chan>] <setting> [....]
-Options:                    Additional help topics:
- timeformat ks|hms           !identify !identpass !invite !blight-id
+ !leave [<chan>]             Additional help topics:
+ !ping [<stuff ...>]          !identify !identpass !invite !blight-id
+ !tell <nick> <message ...>
 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 +24,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
+!tellme  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 refuse                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
@@ -54,26 +92,50 @@ op <channel>       (privately)
  I'll give you channel operator privilege, if you're a manager.
  See `help !manager'.
 
+:leave
+leave [<channel>]     on channel
+leave <channel>       (privately)
+ I'll leave the channel, if you're a manager.  For an unmanaged
+ channel, I'll leave when I'm the last one on the channel.
+
 :channel
 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>|* ...
  See `help <setting>' (eg, `help manager') for more info.
 
+:topic
+channel [<chan>] topic set <topic>    set topic when alone
+channel [<chan>] topic leave          don't (default)
+ If set to `topic set <topic>' then whenever I'm alone in the channel
+ I'll reset the topic; if se to `topic leave' I'll leave it alone.
+channel [<chan>] topic see|tell +|-|= <chan>|* ...
+ I can inform one channel about topic changes in another.  Each
+ channel has a `see list' and a `tell list' which may be empty or
+ contain some channel names and/or a `*'.  I'll tell channel #spy
+ whenever I see the topic change in #showoff if: #showoff or * is
+ mentioned in #spy's see list, and #spy or * is mentioned in
+ #showoff's tell list, and at least one those mentions is not a `*'.
+ + adds items to the relevant list, - removes them, and = sets the
+ list to exactly those items specified.  Both lists are empty by
+ default, but a good permissive value is just `*' for both lists.
+
 :autojoin
 !channel [<chan>] autojoin yes|no      (`yes' is the default.)
  Controls whether I'll join the channel when I'm (re)started.
 
 :userinvite
-                                   \!invite   /msg ... invite ...
-channel [<chan>] userinvite pub    allowed   refused
-channel [<chan>] userinvite here   allowed   only if user on chan
-channel [<chan>] userinvite all    allowed   any user can invite
-channel [<chan>] userinvite none   refused   refused
+channel [<chan>] userinvite pub    users on chan can \!invite
+channel [<chan>] userinvite here   users on chan can \!invite and /msg
+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.)
@@ -133,23 +195,44 @@ register            register your nick (or make it secure)
 register delete     delete your nick registration
 register insecure   register your nick insecurely
  I only store settings for registered nicks.  For `insecure' nicks
- anyone who currently holds that nick can change its settings,
- including securing it to their username.  `secure' nicks can only
- have their settings changed by the user to which they are
- registered, after identifying themselves (see `help !identify').
+ anyone who currently holds that nick can change its settings (see
+ `help !set', including securing it to their username.  `secure'
+ nicks can only have their settings changed by the user to which they
are registered, after identifying themselves (see `help !identify').
 
 :set
 set                  show your current settings
 set <option>         show the current setting of <option>
 set <option> <value> set <option> to <value>
- See also `help !register' and `help !identify'.  See `help !overview'
- for the list of options, and `help <option>' for specific info.
+ Options:   !timeformat ks|hms   !marktime off|once|<!interval>
+            !tellme ...
+ See also `help <option>', `help !register' and `help !identify'
 
 :timeformat
-set timeformat ks   show times in seconds, kiloseconds, etc.
+!set timeformat ks   show times in seconds, kiloseconds, etc.
 set timeformat hms  use days, hours, minutes, seconds
 
-#
+:ping
+ping [<string>]
+Replies with hopefully-useful information, including:
+* 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 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.
+
 # Local variables:
 # fill-column: 69
-# End.
+# End: