IRC bot for meetings and logging channels
Go to file
Richard Darst 7c094f8ef8 Big rename and split into python modules
Ignore-this: 68006fd9b6602ad039904427e7b33daf
* Rename the supybot plugin: MeetBot -> Meeting
* Split the non-supybot specif parts into the `ircmeeting` Python
  module.
* Code changes to support these changes.
* This is a big change so it's expected to be a little bit messy.
  This patch may depend on others until things get sorted out.

darcs-hash:20101129040316-82ea9-e8ce7671c5b765551b98444dc082a9be6011dc4f.gz
2010-11-28 20:03:16 -08:00
Meeting Big rename and split into python modules 2010-11-28 20:03:16 -08:00
doc add Template writer documentation to the manual 2010-02-12 09:45:24 -08:00
ircmeeting Big rename and split into python modules 2010-11-28 20:03:16 -08:00
tests Big rename and split into python modules 2010-11-28 20:03:16 -08:00
README.txt Update README file for latest dependencies and setup 2010-02-12 09:56:26 -08:00
setup.py Big rename and split into python modules 2010-11-28 20:03:16 -08:00

README.txt

USAGE
~~~~~
http://wiki.debian.org/MeetBot

Inspired by the original MeetBot, by Holger Levsen, which was itself a
derivative of Mootbot (https://wiki.ubuntu.com/ScribesTeam/MootBot),
by the Ubuntu Scribes team.

/usr/share/doc/supybot/GETTING_STARTED.gz (on Debian systems) provides
information on configuring supybot the first time, including taking
ownership the first time.


DESIGN DECISIONS
~~~~~~~~~~~~~~~~
The MeetBot plugin doesn't operate like a regular supybot plugin.  It
bypasses the normal command system.  Instead it listens for all lines
(it has to log them all anyway) and if it sees a command, it acts on it.

- Separation of meeting code and plugin code.  This should make it
  easy to port to other bots, and perhaps more importantly make it
  easier to maintain, or rearrange, the structure within supybot.

- Not making users have to register and have capabilities added.  The
  original meetbot ran as a service to many channels not necessarily
  connected to the original owner.

- Makes it easier to replay stored logs.  I don't have to duplicate the
  supybot command parsing logic, such as detecting the bot nick and
  running the proper command.  Also, there might be command overlaps
  with some preexisting plugins.


INSTALLATION
~~~~~~~~~~~~

Requirements: 
* pygments (optional) (debian package python-pygments) (for pretty IRC
  logs).  This package is no longer required (after HTMLlog2 became
  default)
* docutils (optional) (debian package python-docutils) (for
  restructured text to HTML conversion).  This is not used in most
  installations and no longer recommended.

* Install supybot.  You can use supybot-wizard to make a bot 
  configuration.

  * See the file GETTING_STARTED
    (/usr/share/doc/supybot/GETTING_STARTED.gz on a Debian system).
    This tells all about supybot installation, and is an important
    prerequisite to understanding MeetBot configuration.

  * Don't use a prefix character.  (disable this:
      supybot.reply.whenAddressedBy.chars: 
    in the config file - leave it blank afterwards.)  If you do use a
      prefix character, it should be different than the "#" MeetBot
      prefix character.  There are issues here which still need to be
      worked out.

* Move the MeetBot directory into your plugins directory of Supybot.

* Make supybot join any channels you are interested in.  The wizard
  handles this for the first part.  After that, I guess you have to
  learn about supybot (I don't know enough yet...).  If the plugin is
  loaded, it is active on ALL channels the bot is on.  You can also
  command the bot after it's online.

* Make sure the plugin is loaded.
    supybot.plugins: Admin Misc User MeetBot Owner Config Channel
  (can also control loading after the bot is started)

Supybot does a lot, but I don't know much about it.  Hopefully Supybot
expert users can enlighten me as to better ways to do things.

In particular, supybot has a large configuration system, which I know
nothing about.  It may be worth hooking MeetBot into that system.



LICENSE
~~~~~~~
The MeetBot plugin is under the same license as supybot is, a 3-clause
BSD.  The license is documented in each code file (and also applies to
this README file).