GitHunt
BD

bd808/python-ib3

IRC bot framework using mixins to provide commonly desired functionality

=============================
IRC Bot Behavior Bundle (IB3)

IRC bot framework using mixins to provide commonly desired functionality.

Overview

The irc_ python library's irc.bot.SingleServerIRCBot provides a nice
base for making a new bot, but there are many common tasks needed by a robust
bot that it does not handle out of the box. IB3 collects some commonly desired
behaviors for a bot as mixin_ classes that can be used via multiple inheritance_::

from ib3 import Bot
from ib3.auth import SASL
from ib3.connection import SSL
from ib3.mixins import DisconnectOnError

class TestBot(SASL, SSL, DisconnectOnError, Bot):
    pass

Installation

  • python3 -m pip install --upgrade ib3 (recommended)
  • python3 -m pip install . (from source distribution)

License

IB3 is licensed under the GPL-3.0-or-later_ license.

Credits

Some code and much inspiration taken from Wikimedia irc bots Adminbot,
Jouncebot
, and Stashbot_.

.. _irc: https://pypi.org/project/irc/
.. _mixin: https://en.wikipedia.org/wiki/Mixin
.. _multiple inheritance: https://docs.python.org/3/tutorial/classes.html#multiple-inheritance
.. _GPL-3.0-or-later: https://www.gnu.org/copyleft/gpl.html
.. _Adminbot: https://phabricator.wikimedia.org/diffusion/ODAC/
.. _Jouncebot: https://phabricator.wikimedia.org/diffusion/GJOU/
.. _Stashbot: https://phabricator.wikimedia.org/diffusion/LTST/

Languages

Python100.0%

Contributors

GNU General Public License v3.0
Created February 20, 2017
Updated January 3, 2026