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