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