Skip to content
Extensible IRC bot written in Python. Easy to use plugin interface
Python
Find file
Pull request Compare This branch is 1 commit ahead of pyGBot:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
contrib
pyGBot
.gitignore
ChangeLog
LICENCE
README.md
hashpw.py
pyGBot.ini.default
runpyGBot.py
users.ini.default

README.md

pyGBot 0.3.0

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.

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.

Homepage

http://github.com/chaos95/pyGBot

Please use the issue tracker on the homepage to report any problems with the software. For assistance, visit #pyGBot on the foonetic IRC network.

Enjoy!

  • The pyGBot team
Something went wrong with that request. Please try again.