-This is bobot++.info, produced by makeinfo version 4.3 from
+This is bobot++.info, produced by makeinfo version 4.6 from
bobot++.texinfo.
This file documents Bobot++ by Clinton Ebadi and Etienne Bernard
Introduction
************
- This manual feels abused and neglected because it has almost no
-content.
+This manual feels abused and neglected because it has almost no content.
\1f
File: bobot++.info, Node: Configuration, Next: Using the Bot, Prev: Introduction, Up: Top
Configuration
*************
- Bobot++ is easy to configure. The configuration file format may be
+Bobot++ is easy to configure. The configuration file format may be
changing in the 2.1 series, so it is not documented for now. See the
`examples' directory for an example configuration.
bot.conf
--------
- bot.conf is the main configuration file for a Bobot++. The available
+bot.conf is the main configuration file for a Bobot++. The available
configuration variables are listed below in the format "VARIABLE
<default-value>: description"
Configuration File Placement
============================
- Bobot++ will look in `/etc/bobotpp/default/' for its default config
-if none is specified on the command line. Put the configuration files
-you want to be loaded by default in this directory. If you are not root
-or you want to have your own personal configration, put it in
+Bobot++ will look in `/etc/bobotpp/default/' for its default config if
+none is specified on the command line. Put the configuration files you
+want to be loaded by default in this directory. If you are not root or
+you want to have your own personal configration, put it in
`~/.bobotpp/config/default/'.
\1f
Using Bobot++
*************
- FIXME: stuff here...
+FIXME: stuff here...
* Menu:
User Levels
===========
- There are five levels that a user may be when interfacing with a bot:
+There are five levels that a user may be when interfacing with a bot:
NONE, USER, TRUSTED_USER, FRIEND, MASTER. All users default to NONE
unless they are changed by a script, the `!adduser' command or the
`bot.users' file. NONE is for everyone--very few commands (e.g. help)
Scripting
*********
- Bobot++'s most powerful feature is its scripting system. You write
+Bobot++'s most powerful feature is its scripting system. You write
scripts using Guile Scheme. This manual does not cover how to use Guile
or how to learn Scheme. *Note Guile Reference Manual: (guile)Top, for
the Guile reference manual and
Adding New Commands
===================
- Adding a new command is simple. To register a new command use
+Adding a new command is simple. To register a new command use
`bot:addcommand'. The prototype for `bot:addcommand' is
`(bot:addcommand name func needs-channel? num-of-args min-level)'. The
`name' is a string representing the name of the command being added.
Hooks
=====
- Hooks are a powerful feature of Bobot++. Hooks are a hybrid of ircII
+Hooks are a powerful feature of Bobot++. Hooks are a hybrid of ircII
and tiny fugue (a MUD bot) hooks with a little bit of extra stuff added
in. The basic idea of a hook if that you match a text against regular
expression and call a function if text in a message matches that regex.
Creating a Hook
---------------
- To add a new hook you use the function `bot:addhook'. `bot:addhook'
-is prototyped as `(bot:addhook type regex function pri fall name)'.
-`type' specifies the type of hook (the types of hooks are listed in
-*Note Hook Types::). `regex' is a standard regular expression. If
-`regex' is matched, `function' will be called. `function' will take a
-different number of args depending on the hook type. `pri' specifies
-the priority of the hook--higher priority hooks are executed first.
-This argument is optional and defaults to `0'. `fall' is `#t' if the
-hook is a fallthrough hook and `#f' is the hook is not a fallthrough
-hook. This arg is also optional and default to `#t'. `name' is the
-optional name of the hook that defaults to "DEFAULT". If you set the
-name then you can have more than one hook that matches the same regexp,
-as long as they have the same name. E.g. in a log script you could have
-the regexps for the log function all be `".*"' and set their names to
+To add a new hook you use the function `bot:addhook'. `bot:addhook' is
+prototyped as `(bot:addhook type regex function pri fall name)'. `type'
+specifies the type of hook (the types of hooks are listed in *Note Hook
+Types::). `regex' is a standard regular expression. If `regex' is
+matched, `function' will be called. `function' will take a different
+number of args depending on the hook type. `pri' specifies the priority
+of the hook--higher priority hooks are executed first. This argument is
+optional and defaults to `0'. `fall' is `#t' if the hook is a
+fallthrough hook and `#f' is the hook is not a fallthrough hook. This
+arg is also optional and default to `#t'. `name' is the optional name
+of the hook that defaults to "DEFAULT". If you set the name then you
+can have more than one hook that matches the same regexp, as long as
+they have the same name. E.g. in a log script you could have the
+regexps for the log function all be `".*"' and set their names to
`"log"' to avoid a conflict with other hooks.
\1f
Hook Types
----------
- Here is a list of the various hooks are notes on each one. The
-general format of a hook is:
+Here is a list of the various hooks are notes on each one. The general
+format of a hook is:
* `hooks/name' (this is the Scheme variable name of the hook)
- Description of the hook
Scheme User Levels
==================
- There are five levels that a user may be when interfacing with a bot:
+There are five levels that a user may be when interfacing with a bot:
NONE, USER, TRUSTED_USER, FRIEND, MASTER. The Scheme variables for the
user levels are `bot:user-none', `bot:user-user', `bot:user-trusted',
`bot:user-friend', and `bot:user-master'. See *Note User Levels:: for
Sending Messages
================
- There are several types of messages you can send with Bobot++ from
+There are several types of messages you can send with Bobot++ from
scripts. There is the simple, but rather limited, `bot:say',
`bot:action' and `bot:msg', and the more powerful, but lower level,
`bot:send-MESSAGE' functions. Most bots will probably only need the
"High Level" Message Functions
------------------------------
- ...
+...
\1f
File: bobot++.info, Node: Low Level Message Functions, Prev: High Level Message Functions, Up: Sending Messages
"Low Level" Message Functions
-----------------------------
- The "Low Level" messaging functions allow you to do things like send
+The "Low Level" messaging functions allow you to do things like send
CTCP messages. You probably want to read rfc 2812 and the CTCP spec
before using these. If you have no idea what these do, read rfc 2812
(IRC Client Protocol) and CTCP spec. These functions all return
Misc. Scripting Stuff
=====================
- These are a few useful things that I thought people writing scripts
+These are a few useful things that I thought people writing scripts
might want to know.
If you want to execute code when the bot exits, just do `add-hook!
Tag Table:
Node: Top\7f517
Node: Introduction\7f1246
-Node: Configuration\7f1437
-Node: Configuration File Syntax\7f1823
-Node: bot.conf\7f2030
-Node: Configure File Placement\7f2865
-Node: Using the Bot\7f3339
-Node: User Levels\7f3513
-Node: Scripting\7f4517
-Node: Adding New Commands\7f5425
-Node: Hooks\7f6692
-Node: Creating a Hook\7f7666
-Node: Hook Types\7f8805
-Node: Scheme User Levels\7f12279
-Node: Sending Messages\7f13408
-Node: High Level Message Functions\7f14019
-Node: Low Level Message Functions\7f14233
-Node: Misc Scripting Stuff\7f14986
-Node: Concept Index\7f15405
-Node: Function Index\7f15587
-Node: Variable Index\7f15848
+Node: Configuration\7f1434
+Node: Configuration File Syntax\7f1817
+Node: bot.conf\7f2024
+Node: Configure File Placement\7f2856
+Node: Using the Bot\7f3327
+Node: User Levels\7f3498
+Node: Scripting\7f4499
+Node: Adding New Commands\7f5404
+Node: Hooks\7f6668
+Node: Creating a Hook\7f7639
+Node: Hook Types\7f8775
+Node: Scheme User Levels\7f12246
+Node: Sending Messages\7f13372
+Node: High Level Message Functions\7f13980
+Node: Low Level Message Functions\7f14191
+Node: Misc Scripting Stuff\7f14941
+Node: Concept Index\7f15357
+Node: Function Index\7f15539
+Node: Variable Index\7f15800
\1f
End Tag Table