chiark / gitweb /
Improve !invite docs
[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 is useful because only IRC channel operators can use /invite.
192  This can be disabled for managed channels - see `help userinvite'.
193 To get me to join a channel, a channel operator should /invite me.
194
195 :kill
196 kill <nick> [<reason>]
197  Asks me to throw that client off IRC completely, using my IRC
198  Operator privilege.  You must have identified yourself as the user
199  to whom the nick is registered.  (See `help !register'.)
200
201 :register
202 register            register your nick (or make it secure)
203 register delete     delete your nick registration
204 register insecure   register your nick insecurely
205  I only store settings for registered nicks.  For `insecure' nicks
206  anyone who currently holds that nick can change its settings (see
207  `help !set', including securing it to their username.  `secure'
208  nicks can only have their settings changed by the user to which they
209  are registered, after identifying themselves (see `help !identify').
210
211 :set
212 set                  show your current settings
213 set <option>         show the current setting of <option>
214 set <option> <value> set <option> to <value>
215  Options:  !timeformat ks|hms|beat
216            !marktime off|once|<n>[k]s|<n>m|<n>h
217            !tellme ...
218  See also `help <option>', `help !register' and `help !identify'
219
220 :timeformat
221 !set timeformat ks    show times in seconds, kiloseconds, etc.
222 set timeformat hms   use days, hours, minutes, seconds
223 set timeformat beat  use beats (1000 B = 1 day)
224
225 :ping
226 ping [<string>]
227 Replies with hopefully-useful information, including:
228 * Current time, number of IRC and system users, and load averages.
229 * Most recent traffic on a relevant channel (if sent privately, any
230   channel we're both on, otherwise the channel in question.)  Only
231   actual message traffic counts, and \!-commands don't count either.
232 * The specified string, if any.
233 I can tell you this automatically if you like - see `help !marktime'.
234 If you have undelivered messages sent with !tell by or to you, I'll
235 let you know about those too (privately, if you ping on channel).
236
237 :marktime
238 !set marktime off        Only an explicit `!ping' command sends info.
239 set marktime once       Send ping info shortly after I first see you.
240 set marktime <!interval> Also send info regularly (min. interval 5m).
241
242 :interval
243 Intervals in commands are <amount><unit>, where the unit is one of
244 s for seconds, ks for kiloseconds, m for minutes, h for hours.
245
246 :tutorial
247 Sorry, there is no tutorial.  If you would like to contribute by
248 writing one, please email ijackson@chiark.greenend.org.uk.
249
250 # Local variables:
251 # fill-column: 69
252 # End: