Python IRC-bot
Switch branches/tags
Nothing to show
Clone or download
xintron Merge pull request #8 from dpoblador/master
Adding support for IRC-server passwords.
Latest commit f0a69e4 Oct 12, 2011
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
pycri Added support for IRC server passwords Oct 11, 2011
.gitignore
LICENSE Restructure deluxe. Mar 16, 2011
README.md Restructure deluxe. Mar 16, 2011
settings.py.example
setup.py Restructure deluxe. Mar 16, 2011

README.md

pycri

Modular IRC-bot with support for live reloading of plugins. Support for TCP- and SSL-connections.

Simple launcher

import pycri.core
application = pycri.core.run('#channel')

That's everything you need. Given that you have a settings.py-file with the necessary variables (take a look at settings.py.example) you can now run the bot with python main.py.

Simple greeting plugin

from pycri.plugins import Plugin, command

class Greeter(Plugin):
    def on_join(self, irc, prefix, params):
        nick, channel = prefix.split('!')[0], params[0]

        message = u'Welcome to {0}, {1}. Have a pleasant stay!'.format(
            channel, nick
        )

        irc.msg(channel, message)

    @command(aliases=['gr'])
    def greet(self, nick):
        return 'Welcome {}'.format(nick)

That's it! Now either add the plugin to the PLUGINS-list in settings.py or load the plugin using !load <plugin>. Remember that the plugins are loaded just as any other module and must be on your python-path.

This plugin will greet all users joining the channel as well as adding a command (accessible using !greet or the alias !gr) which takes one argument, the nick to greet.

Dependencies

  • twisted
  • pyopenssl (if connecting over SSL)