An extremely modulable IRC bot, built around XML configuration files.
  • Python 99.9%
  • Dockerfile 0.1%
Find a file
Pierre-Olivier Mercier 26282cb81d server: Replace hand-rolled IRC with irc (jaraco) library
Switch the IRC server implementation from the custom socket-based parser
to the irc Python library (SingleServerIRCBot), gaining automatic
exponential-backoff reconnection, built-in PING/PONG handling, and
nick-collision recovery for free.

- Add IRCLib server (server/IRCLib.py) extending ThreadedServer:
  _IRCBotAdapter wraps SingleServerIRCBot with a threading.Event stop
  flag so shutdown is clean and on_disconnect skips reconnect when
  stopping. subparse() is implemented directly for alias/grep/rnd/cat.
- Add IRCLib printer (message/printer/IRCLib.py) calling
  connection.privmsg() directly instead of building raw PRIVMSG strings.
- Update factory to use IRCLib for irc:// and ircs://; SSL is now
  passed as a connect_factory kwarg rather than post-hoc socket wrapping.
- Add irc to requirements.txt.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-06 22:34:14 +07:00
bin Welcome in 2016... Happy new year! 2016-04-08 12:55:24 +02:00
modules openai: Add commands list_models and set_model 2025-02-07 23:38:23 +01:00
nemubot server: Replace hand-rolled IRC with irc (jaraco) library 2026-03-06 22:34:14 +07:00
.drone.yml Don't compile for arm (requires rust ?????) 2025-02-07 23:38:49 +01:00
.gitignore Use a logger 2014-08-14 12:50:19 +02:00
.travis.yml Update travis python versions 2019-09-21 01:16:52 +02:00
AUTHORS Add conf sample, README, licence, AUTHORS 2012-06-28 22:09:59 +02:00
bot_sample.xml Rework XML parser: part 1 2015-10-28 10:55:02 +01:00
COPYING Introduce nemubot v3.2 2012-08-14 05:51:55 +02:00
Dockerfile matrix: Add Matrix server support via matrix-nio 2026-03-06 21:53:15 +07:00
README.md Fix https links when available, everywhere 2018-01-14 19:19:01 +01:00
requirements.txt server: Replace hand-rolled IRC with irc (jaraco) library 2026-03-06 22:34:14 +07:00
setup.py server: Replace hand-rolled IRC with irc (jaraco) library 2026-03-06 22:34:14 +07:00
speak_sample.xml Convert nemuspeak as a module to nemubot 2014-10-27 18:40:04 +01:00

nemubot

An extremely modulable IRC bot, built around XML configuration files!

Requirements

nemubot requires at least Python 3.3 to work.

Some modules (like cve, nextstop or laposte) require the BeautifulSoup module, but the core and framework has no dependency.

Installation

Use the setup.py file: python setup.py install.

VirtualEnv setup

The easiest way to do this is through a virtualenv:

virtualenv venv
. venv/bin/activate
python setup.py install

Create a new configuration file

There is a sample configuration file, called bot_sample.xml. You can create your own configuration file from it.

Usage

Don't forget to activate your virtualenv in further terminals, if you use it.

To launch the bot, run:

nemubot bot.xml

Where bot.xml is your configuration file.