Licence, copyright and attribution
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.
- Python >= 2.5
- Twisted >= 2.0 (including twisted.words)
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.
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.
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.
Please use the issue tracker on the homepage to report any problems with the software. For assistance, visit #pyGBot on the foonetic IRC network.
- The pyGBot team