[project @ 2002-07-12 03:27:05 by unknown_lamer]
[clinton/bobotpp.git] / bobot++.info
CommitLineData
2e20c3e1 1This is bobot++.info, produced by makeinfo version 4.1 from
2bobot++.texinfo.
3
4 This file documents Bobot++ by Clinton Ebadi and Etienne Bernard
5(original author, no longer works on program).
6
7 Copyright 2002 Clinton Ebadi
8
9 Permission is granted to copy, distribute and/or modify this document
10under the terms of the GNU Free Documentation License, Version 1.1 or
11any later version published by the Free Software Foundation; with no
12Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
13Texts.
14
15\1f
16File: bobot++.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)
17
18 This document describes Bobot++ by Clinton Ebadi and Etienne Bernard
19(original author, no longer works on program).
20
21 This document applies to version 2.1.0 of the program named Bobot++
22
439869bf 23 Copyright 2002 Clinton Ebadi
24
25 Permission is granted to copy, distribute and/or modify this document
26under the terms of the GNU Free Documentation License, Version 1.1 or
27any later version published by the Free Software Foundation; with no
28Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
29Texts.
30
2e20c3e1 31* Menu:
32
33* Introduction::
ad529fde 34* Configuration::
35* Scripting::
36* Concept Index::
37* Function Index::
38* Variable Index::
2e20c3e1 39
40\1f
ad529fde 41File: bobot++.info, Node: Introduction, Next: Configuration, Prev: Top, Up: Top
2e20c3e1 42
43Introduction
44************
45
ad529fde 46 This manual feels abused and neglected because it has almost no
47content.
2e20c3e1 48
ad529fde 49\1f
50File: bobot++.info, Node: Configuration, Next: Scripting, Prev: Introduction, Up: Top
51
52Configuration
53*************
54
55 Bobot++ is easy to configure. The configuration file format may be
56changing in the 2.1 series, so it is not documented for now. See the
57`examples' directory for an example configuration.
58
59* Menu:
60
61* Configuration File Syntax::
62* Configure File Placement::
63
64\1f
65File: bobot++.info, Node: Configuration File Syntax, Next: Configure File Placement, Prev: Configuration, Up: Configuration
66
67Configuration File Syntax
68=========================
69
70 Not here yet.
71
72\1f
73File: bobot++.info, Node: Configure File Placement, Prev: Configuration File Syntax, Up: Configuration
74
75Configuration File Placement
76============================
77
78 Bobot++ will look in `/etc/bobotpp/default/' for its default config
79if none is specified on the command line. Put the configuration files
80you want to be loaded by default in this directory. If you are not root
81or you want to have your own personal configration, put it in
82`~/.bobotpp/config/default/'.
83
84\1f
85File: bobot++.info, Node: Scripting, Next: Concept Index, Prev: Configuration, Up: Top
86
87Scripting
88*********
89
90 Bobot++'s most powerful feature is its scripting system. You write
91scripts using Guile Scheme. This manual does not cover how to use Guile
92or how to learn Scheme. *Note Guile Reference Manual: (guile)Top, for
93the Guile reference manual and
94<http://www.ccs.neu.edu/home/dorai/t-y-scheme/t-y-scheme.html> for a
95good tutorial on Scheme.
96
439869bf 97 Note that in previous versions the scripting commands where in the
98form `bot-FUNCTION'. They are now in the form `bot:FUNCTION'. The old
99names are still available, but are deprecated and will be removed in
100Bobot++ 2.4. The command `perl -pi -e ``s/bot-/bot:/g'' YOUR-FILES'
101should be enough to convert your code to use the new functions.
102
103* Menu:
104
105* Adding New Commands::
106* Hooks::
107
108\1f
109File: bobot++.info, Node: Adding New Commands, Next: Hooks, Prev: Scripting, Up: Scripting
110
111Adding New Commands
112===================
113
114 Not here yet.
115
116\1f
117File: bobot++.info, Node: Hooks, Prev: Adding New Commands, Up: Scripting
118
119Hooks
120=====
121
122 Hooks are a powerful feature of Bobot++. Hooks are a hybrid of ircII
123hooks and tiny fugue (a MUD bot) hooks. The basic idea of a hook if
124that you match a text against regular expression and call a function if
125text in a message matches that regex. The different types of hooks
126provided by Bobot++ correspond to the different classes of messages
127that Bobot++ can recieve. A Hook also has several properties, including
128its priority and whether or not it is a fallthrough hook. Higher
129priority hooks are executed before lower priority hooks and fallthrough
130hooks are executed before non-fallthrough hooks. A fallthrough hook can
131match and processing of hooks will continue; as soon as the first
132non-fallthrough hooks matches processing of hooks stops.
133
134* Menu:
135
136* Creating a Hook::
137* Hook Types::
138
139\1f
140File: bobot++.info, Node: Creating a Hook, Next: Hook Types, Prev: Hooks, Up: Hooks
141
142Creating a Hook
143---------------
144
145 To add a new hook you use the function `bot:addhook'. `bot:addhook'
146is prototyped as `(bot:addhook type regex function pri fall)'. `type'
147specifies the type of hook (the types of hooks are listed in *Note Hook
148Types::). `regex' is a standard regular expression. If `regex' is
149matched, `function' will be called. `function' will take a different
150number of args depending on the hook type. `pri' specifies the priority
151of the hook-higher priority hooks are executed first. This argument is
152optional and defaults to `0'. `fall' is `#t' if the hook is a
153fallthrough hook and `#f' is the hook is not a fallthrough hook. This
154arg is also optional and default to `#t'.
155
156\1f
157File: bobot++.info, Node: Hook Types, Prev: Creating a Hook, Up: Hooks
158
159Hook Types
160----------
161
162 Here is a list of the various hooks are notes on each one. The
163general format of a hook is:
164
165 * `hooks/name' (this is the Scheme variable name of the hook)
166 - Description of the hook
167
168 - # of args
169 - `arg1': desc
170
171 - `arg2': desc
172
173 - ...
174
175 - `argN': desc
176
177 That said, here is the list of available hooks:
178
179 * `hooks/action'
180 - Description of the hook
181
182 - # of args
183 - `arg1': desc
184
185
186 * `hooks/nickname'
187 - Description of the hook
188
189 - # of args
190 - `arg1': desc
191
192
193 * `hooks/signoff'
194 - Description of the hook
195
196 - # of args
197 - `arg1': desc
198
199
200 * `hooks/ctcp'
201 - Description of the hook
202
203 - # of args
204 - `arg1': desc
205
206
207 * `hooks/ctcp-reply'
208 - Description of the hook
209
210 - # of args
211 - `arg1': desc
212
213
214 * `hooks/disconnect'
215 - Description of the hook
216
217 - # of args
218 - `arg1': desc
219
220
221 * `hooks/flood'
222 - Description of the hook
223
224 - # of args
225 - `arg1': desc
226
227
228 * `hooks/invite'
229 - Description of the hook
230
231 - # of args
232 - `arg1': desc
233
234
235 * `hooks/join'
236 - Description of the hook
237
238 - # of args
239 - `arg1': desc
240
241
242 * `hooks/kick'
243 - Description of the hook
244
245 - # of args
246 - `arg1': desc
247
248
249 * `hooks/part'
250 - Description of the hook
251
252 - # of args
253 - `arg1': desc
254
255
256 * `hooks/mode'
257 - Description of the hook
258
259 - # of args
260 - `arg1': desc
261
262
263 * `hooks/message'
264 - Description of the hook
265
266 - # of args
267 - `arg1': desc
268
269
270 * `hooks/notice'
271 - Description of the hook
272
273 - # of args
274 - `arg1': desc
275
276
277 * `hooks/public'
278 - Description of the hook
279
280 - # of args
281 - `arg1': desc
282
283
284 * `hooks/public-notice'
285 - Description of the hook
286
287 - # of args
288 - `arg1': desc
289
290
291 * `hooks/raw'
292 - Description of the hook
293
294 - # of args
295 - `arg1': desc
296
297
298 * `hooks/timer'
299 - Description of the hook
300
301 - # of args
302 - `arg1': desc
303
304
305 * `hooks/topic'
306 - Description of the hook
307
308 - # of args
309 - `arg1': desc
310
311
ad529fde 312\1f
313File: bobot++.info, Node: Concept Index, Next: Function Index, Prev: Scripting, Up: Top
314
315Concept Index
316*************
317
318* Menu:
319\1f
320File: bobot++.info, Node: Function Index, Next: Variable Index, Prev: Concept Index, Up: Top
321
322Function Index
323**************
324
325* Menu:
326\1f
327File: bobot++.info, Node: Variable Index, Prev: Function Index, Up: Top
328
329Variable Index
330**************
331
332* Menu:
2e20c3e1 333
334\1f
335Tag Table:
336Node: Top\7f517
439869bf 337Node: Introduction\7f1228
338Node: Configuration\7f1419
339Node: Configuration File Syntax\7f1801
340Node: Configure File Placement\7f2003
341Node: Scripting\7f2477
342Node: Adding New Commands\7f3316
343Node: Hooks\7f3473
344Node: Creating a Hook\7f4363
345Node: Hook Types\7f5153
346Node: Concept Index\7f7626
347Node: Function Index\7f7758
348Node: Variable Index\7f7897
2e20c3e1 349\1f
350End Tag Table