chiark / gitweb /
Proposed "tell" specification.
[ircbot] / helpinfos
1 ::wwwtitle      Blight (chiark IRC bot) help
2 ::wwwaddress    chiark IRC operators <ircop@chiark>
3
4 :
5 See http://www.chiark.greenend.org.uk/ucgi/~ijackson/blight-help
6 or /msg me with `help !overview'.
7
8 :overview
9 General commands:           Registration and user settings:
10  !help [<cmd>|<opt>|<topic>]  !register [insecure|delete]
11  !seen <nick>                 !set [<opt> [<value>]]      who [<nick>]
12  !summon <username>           (See `help !identify', `help !blight-id')
13  !invite [<chan>] <nick>...  Channel settings (see `help channel'):
14  !op [<chan>]                 !channel [<chan>] <setting> [....]
15  !leave [<chan>]             Additional help topics:
16  !ping [<stuff ...>]          !identify !identpass !invite !blight-id
17  !tell <nick> <message ...>
18 Send commands to me by /msg, or say them in channel with \! in front.
19 To get me on a channel, invite me.  To become channel manager, op me.
20
21 :help
22 help             gives an overview and lists the topics &c
23 help <command>   gives help on a command
24 help <opt>       gives help on an option
25 help <topic>     gives help on an additional topic
26
27 :tell
28 tell <nick> <message ...>
29  Leaves a message for someone, which will be delivered according to
30  their `set !tellme' setting, or failing that your `set !tellbounce'.
31
32 :tellbounce
33 !set tellbounce after <!interval>   (Default: 80h.)
34  If undelivered longer than that, I will:
35 !set tellbounce discard              Just throw it away.  (Default.)
36 !set tellbounce tellme <interval>    Try a bounce `tell' that long.
37 !set tellbounce mailto <email-addr>  Email you.  (Secure nicks only.)
38
39 :tellme
40 !set tellme configures how you receive messages sent with !tell:
41  set tellme insecure              When I see you.  (Default.)
42  set tellme secure                Hide body until secure ident.
43  set tellme refuse                Do not accept messages.
44  set tellme mailto <email-addr>   By email.  (Secure nicks only.)
45 and also when to consider them delivered:
46  set tellme unreliable            Tell you once, then forget.
47  set tellme pester <interval>     Remind until you say !delmsg.
48  set tellme reliable <interval>   Like pester, but identify req'd.
49  set tellme remind <every-!interval> [<within-interval>]
50     Remind until you talk on channel within <within-interval>
51     of me having told you.  (Default is remind 1h 30s.)
52
53 :delmsg
54 delmsg [<nick> ...]
55 Forgets about messages I've told you about: either all of them, or
56 only those from certain nicks.  Necessary if you !set !tellme pester
57 or reliable, and also works with remind, but not with unreliable.
58
59 :seen
60 seen <nick>
61  Tells you or the channel when I last saw that nick in
62  use.  When the nick is next used, I'll tell them you asked.
63
64 :summon
65 summon <username>
66  Invites a logged-on user onto IRC.  If the user is not logged on
67  you'll be told.  Target users can change this (eg, to disable it)
68  by reconfiguring the userv service `irc-summon'.  See ~ian/.userv.
69
70 :who
71 who [<nick>]
72  Gives information about who I think the nick is (or who I think you
73  are), including whether the nick is registered, whether it is
74  associated with a username and if so who, and whether the current
75  user of the nick has identified themselves to me.
76  See `help !register'.
77
78 #:convert
79 #convert <number> <unit>
80 # Converts the specified quantity into SI units.  Units that are
81 # understood are any understood by units(1) and also
82 #   kelvin celsius fahrenheit    (convert to celsius or kelvin)
83 #(Not yet implemented.)
84
85 :op
86 op [<channel>]     on channel
87 op <channel>       (privately)
88  I'll give you channel operator privilege, if you're a manager.
89  See `help !manager'.
90
91 :leave
92 leave [<channel>]     on channel
93 leave <channel>       (privately)
94  I'll leave the channel, if you're a manager.  For an unmanaged
95  channel, I'll leave when I'm the last one on the channel.
96
97 :channel
98 channel [<chan>] [show]                       show settings
99 channel [<chan>] !manager +|-|= <nick> ...     set manager list
100 channel [<chan>] !autojoin yes|no              join at bot start ?
101 channel [<chan>] !userinvite pub|here|all|none who can !invite ?
102 channel [<chan>] !mode *|+...-...              set modes when alone
103 channel [<chan>] !topic leave | set <topic>    set topic when alone?
104 channel [<chan>] !topic see|tell +|-|= <chan>|* ...
105  See `help <setting>' (eg, `help manager') for more info.
106
107 :topic
108 channel [<chan>] topic set <topic>    set topic when alone
109 channel [<chan>] topic leave          don't (default)
110  If set to `topic set <topic>' then whenever I'm alone in the channel
111  I'll reset the topic; if se to `topic leave' I'll leave it alone.
112 channel [<chan>] topic see|tell +|-|= <chan>|* ...
113  I can inform one channel about topic changes in another.  Each
114  channel has a `see list' and a `tell list' which may be empty or
115  contain some channel names and/or a `*'.  I'll tell channel #spy
116  whenever I see the topic change in #showoff if: #showoff or * is
117  mentioned in #spy's see list, and #spy or * is mentioned in
118  #showoff's tell list, and at least one those mentions is not a `*'.
119  + adds items to the relevant list, - removes them, and = sets the
120  list to exactly those items specified.  Both lists are empty by
121  default, but a good permissive value is just `*' for both lists.
122
123 :autojoin
124 !channel [<chan>] autojoin yes|no      (`yes' is the default.)
125  Controls whether I'll join the channel when I'm (re)started.
126
127 :userinvite
128 channel [<chan>] userinvite pub    users on chan can \!invite
129 channel [<chan>] userinvite here   users on chan can \!invite and /msg
130 channel [<chan>] userinvite all    anyone can \!invite and /msg
131 channel [<chan>] userinvite none   \!invite and /msg are disabled
132  Controls whether the `invite' command works for this channel, and
133  who can use it (`help !invite').  `userinvite pub' is the default.
134  Channel managers can always use the `invite' command.
135
136 :mode
137 !channel [<chan>] mode *|+...-...           (`mode *' is default.)
138  If not set to `*' then whenever I'm alone in the channel I'll set
139  and unset the channel modes specified.  Only the modes imnpst are
140  supported.  Precede one or more mode letters with + to set, - to
141  unset; any letters not mentioned will be left alone.
142
143 :manager
144 !channel [<chan>] manager + <nick> <nick> ...  add managers
145 !channel [<chan>] manager - <nick> <nick> ...  remove managers
146 !channel [<chan>] manager = <nick> <nick> ...  set new manager list
147  Managers are those who can use the `channel' command to change
148  channel settings.  Manager status is only effective for secure
149  nicks, after the manager has identified themselves.
150  If you op me on an unmanaged channel you become the only manager,
151  but you must use `!channel' to change a channel setting to make this
152  permanent.  To make a channel unmanaged, make it have no managers.
153
154 :identify
155 You must identify yourself to change your settings if your nick is
156 secure, and to use channel management commands.  In ircII on chiark,
157 just say `/!blight-id'.  For other clients, see `help !identpass'.
158 Once you are identified you can then register new nicks, change
159 settings, etc. - so long as you remain on a channel that I'm on too
160 (see `help !invite').  See also `help !register'.
161
162 :blight-id
163 /blight-id is a command available in ircII (and possibly other
164 clients) on chiark.  It sets up a password if you don't already have
165 one, and then uses it to identify you to Blight.  If you want to
166 change your password, delete the file ~/.userv/irc-pass-md5.
167 See `help !register' and `help !identpass'.
168
169 :identpass
170 identpass <username> <password>
171  Identifies you to Blight.  To set up your password, or be reminded
172  of it, run the shell command `irc-blight-id' on chiark.
173  (On ircII on chiark `/!blight-id' is easier, see `help !blight-id'.)
174  See `help !identpass-internals' for technical details.
175
176 :identpass-internals
177 Identification, for example with /!blight-id, is actually done with
178 `!identpass', which feeds the md5sum of the password to `userv
179 <username> irc-identpass <nick>'.  That must exit 0 if all is well.
180 By default this checks the md5sum against ~/.userv/irc-pass-md5.
181
182 :invite
183 invite <nick> ...             on channel
184 invite <channel> <nick> ...   privately
185  This command gets me to invite the specified people to the channel.
186  This can be disabled for managed channels - see `help !userinvite'.
187 To get me to join a channel, just invite me to it.
188
189 :register
190 register            register your nick (or make it secure)
191 register delete     delete your nick registration
192 register insecure   register your nick insecurely
193  I only store settings for registered nicks.  For `insecure' nicks
194  anyone who currently holds that nick can change its settings (see
195  `help !set', including securing it to their username.  `secure'
196  nicks can only have their settings changed by the user to which they
197  are registered, after identifying themselves (see `help !identify').
198
199 :set
200 set                  show your current settings
201 set <option>         show the current setting of <option>
202 set <option> <value> set <option> to <value>
203  Options:   !timeformat ks|hms   !marktime off|once|<n>[k]s|<n>m|<n>h
204  See also `help <option>', `help !register' and `help !identify'
205
206 :timeformat
207 !set timeformat ks   show times in seconds, kiloseconds, etc.
208 set timeformat hms  use days, hours, minutes, seconds
209
210 :ping
211 ping [<string>]
212 Replies with hopefully-useful information, including:
213 * Current time, number of IRC and system users, and load averages.
214 * Most recent traffic on a relevant channel (if sent privately, any
215   channel we're both on, otherwise the channel in question.)  Only
216   actual message traffic counts, and \!-commands don't count either.
217 * The specified string, if any.
218 I can tell you this automatically if you like - see `help !marktime'.
219
220 :marktime
221 !set marktime off        Only an explicit `!ping' command sends info.
222 set marktime once       Send ping info shortly after I first see you.
223 set marktime <!interval> Also send info regularly (min. interval 5m).
224
225 :interval
226 Intervals in commands are <amount><unit>, where the unit is one of
227 s for seconds, ks for kiloseconds, m for minutes, h for hours.
228
229 # Local variables:
230 # fill-column: 69
231 # End: