/pyGBot

Extensible IRC bot written in Python. Easy to use plugin interface

Primary LanguagePythonOtherNOASSERTION

README FOR pyGBot 0.1.2 - Alpha release

    pyGBot - Versatile IRC Bot
    Copyright (C) 2008 Morgan Lokhorst-Blight, Alex Soborov, Paul Rotering

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.


Based on pyTBot, (c) 2007 Paul Rotering
http://www.ircpoker.com
Licensed under GPLv2

Uses ConfigObj, (c) 2008 Michael Foord and Nicola Larosa
http://www.voidspace.org.uk/python/configobj.html
Licensed under modified (3 clause) BSD License

Uses "C# Events in Python", (c) 2005 Zoran Isailovski
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/410686
Licensed under MIT License

Simple Disclaimer:
THIS IS AN ALPHA RELEASE. It it provided AS-IS, with no warranty or support.
If it breaks your computer, it's not our fault.

Requirements:
 - Python >= 2.5
 - Twisted >= 2.0 (including twisted.words)

To run:
Uncompress, go to src/ , rename pyGBot.ini.default to pygbot.ini and 
users.ini.default to users.ini, and modify the values in pyGBot.ini. The main 
ones you're interested in are host, port, nick, and channel. Once that's done, 
run pyGBot.py.

To add users to the Auth system:
Run hashpw.py, it will prompt you for the relevant details.

To modify:
Your best bet is to look at the existing plugins, as well as src/BasePlugin.py.
All plugins must subclass BasePlugin. If you design a new plugin, you'll have
to add it to the list of plugins to be loaded and started in pyGBot.ini.
[Plugins] is plugins to load, and [Plugins.system.Startup] is plugins which
will be activated immediately.

Command system:
The system.Commands plugin provides a set of commands (extensible of course!)
which are single-line calls made by users to enact some immediate response or
action. The existing ones are primarily related to controlling the bot (join /
part channel, send public message, etc) but any single-line command could
conceivably be implemented here. Have a look at the existing commands in
src/Plugins/system/CommandSpec, and the BaseCommand class in
src/Plugins/system/Commands.py.

If you have any further questions please respond via email or the forums, both
can be found at the project page:

http://sourceforge.net/projects/pygbot

Enjoy!
- The pyGBot team