Bot/BasicBot/Pluggable version 0.01
===================================

OVERVIEW

Bot::BasicBot::Pluggable is a modular IRC bot framework that lets you
write your own modules very simply, or to just use the stock modules for
a decent out-the-box infobot.

Several modules are installed by default. These are:

Core Modules
(not really user-visible, these modules are used to manage the bot)

Base    - Not really a module, this is the base class all modules
          inherit from.
Auth    - Restricts certain commands to authenticaed users only, so
          non-admins can't add/remove modules, etc, etc.
Loader  - Load and unload modules with IRC commands.
Vars    - Set and unset module vars with IRC commands.

Feature Modules

Seen    - Keeps track of when and where people last spoke, ask the bot
          'seen <nick>' and it'll tell you when it last saw the
          person.
Karma   - Tracks 'karma' for objects - manipulate an object's karma
          with 'object++' to increase it and 'object--' to decrease it,
          ask 'karma object' to get the karma of the object.
Infobot - Tracks infobot-style factiods. Tell the bot 'bob is green',
          and in the future, asking, 'bot, bob?', the bot will respond
          with 'bob is green.'.
Blog    - Implements a chumpbot. When combined with the code in the
          examples folder, lets you blog to a website from IRC. See
          http://2lmc.org/spool for an example of it's use. Alas, right
          now it's not what I'd call usable unless you're prepared to
          mess with SQL. Read the code.
DNS     - Do DNS queries from IRC.
Google  - Do Google searches and spelling checks from IRC.
Join    - Join and leave channels at the behest of admins.

BBP should work mostly out the box. Install the modules, and copy
the mind.pl script out of examples/ somewhere. Edit the script, and
set little details, such as the server, bot name, etc, and run the
script. The bot should connect to the IRC server, but won't have
any modules installed, and won't be joined to any channels. Open a
query window to it, and type the following:

!load Auth             # loads the Auth module, to stop other people
                       # stealing your bot.
!auth admin julia      # log in as 'admin', with the default password.
!adduser <username> <password>
                       # create a new user
!auth <usernmae> <password>
                       # log in as that user
!deluser admin         # remove the old admin user.

Now the bot is secure against other people stealing it. Because the
'Loader' module is always installed, the 'Auth' module will now
always be loaded, so there will always be protection on it. now let's
load some simple modules. Notice that things starting with a '!' are
admin commands, and can only be sued by people with are logged into
the bot.

!load Seen             # load the 'Seen' module.
!load Join             # Load the 'Join' module
join #mychannel        # Join a channel.
seen dave?             # have we seen dave?

etc,etc.


INSTALLATION

To install this module type the following:

   perl Makefile.PL
   make
   make test
   make install (as root)

DEPENDENCIES

This module requires these other modules and libraries:

  POE
  Bot::BasicBot
  
The Infobot module needs the following:
  XML::RSS
  LWP::Simple
  
The Google module needs:
  Net::Google



COPYRIGHT AND LICENCE

Copyright (C) 2003 Tom Insam <tom@jerakeen.org>

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself. 

