Welcome to PyrIRC

Latest version is here. Note that the project is not maintained anymore but feel free to modify it.

Welcome to the open-source (under GPLv3) PyrIRC library homepage for Python. Its purpose is to help the creation of bots for IRC and to make as much as possible features available easily so the developers haven't to focus on anything else than their code. It is childish. It's currently under heavy development at the moment. I'm (Jamesb) the author of the project and developed the whole code except some parts. We are two developers on it but we'll need more than that to improve the library. Its quite functional but it leaks some minor and major functionalities. If you would like to contact us use my mail: axel [at] james-b [dot] ch then I'll answer you as soon as possible or you can join us on IRC. Our channel is #pyrirc on irc.geeknode.org too. You can report bugs with tickets, view and edit them at any time. We'll use as our developing platform and we're going to full it very soon. The documentation's being made with doxygen. Stay tuned for coming news.

We're moving our SVN repository to Mercurial (Hg) so we need time to do it before working again on the project. Maybe we'll replace by Redmine which supports Hg as well.

Download

Features

List of other plugins available:

Quick Start

Some useful information

How to start with a bot

This page describe how to have a working bot with PyrIRC quickly. At the end of this Howto you should have a bot which is on your favorite channels answering to your commands. The available commands depends on the plugins you will enable.

Installation

First of all you need to check the Requirements. Then you can get the last version. You should now extract (with Tar / 7-Zip / File Roller for example) the Tarball you just downloaded.

$ wget http://pyrirc.james-b.ch/pyrirc-r56.tgz
$ tar xvfz pyrirc-r56.tgz
$ python --version

Configuration

After that you have to copy "jbotconfig.py.example" to "jbotconfig.py". This file is the main configuration of the bot you should read it carefully and edit the fields to fit your needs. The first part named "IRC connection settings" is the connection settings: the host and port of the server to connect to then the nick of the bot then the admin nick (a thrusted person) and finally the channels to join when connected with password if any (leave "" if password isn't set, Example "#publicchannel":""). The second part named "User and group rights" and the third "To enable experimentals modules with errors or not tested" should be ignored at the moment. The fourth part named "The modules loaded at the start (official list)" is important because it will load the plugins/modules you'll choice to enable. You can leave it as is to enable all the plugins or you can put or remove # at the beginning of the line to enable or disable one. By default you have "chifoumi" enabled so if you want it disabled you must add a sharp like this #"chifoumi". The last parts concerns the configuration of "irclog" and "ircxdcc" modules and you can leave it as is.

$ cd pyrirc/
$ cp jbotconfig.py.example jbotconfig.py
$ nano -w jbotconfig.py

Warning: If you have enabled the "ircxdcc" module (no # before it) you should check the value of the variable "xdccXmlFile" (by default "ircxdccconf.xml") and make sure this file exists or you won't be able to start the bot. If not sure disable this module. If you want it copy ircxdccconf.xml.example to ircxdccconf.xml and edit it to fit your needs.

Start

After the configuration you can start the bot. Check you are in the right folder and start it like this:

$ python jbot.py

Note: You can start it in a screen so you can detach it:

$ screen python jbot.py

Todo

Main rewriting (deep cleaning) We want to rewrite the code to make it looks better, cleaner and more logic to use.

Core

Plugins (jbot)

Others