An extremely modulable IRC bot, built around XML configuration files.
  • Python 99.9%
  • Dockerfile 0.1%
Find a file
Pierre-Olivier Mercier 9d7c278d1a
All checks were successful
continuous-integration/drone/push Build is passing
bot: Fix sequential message processing with proper consumer pool
Replace the flawed cnsr_thrd_size threshold with cnsr_active, which
tracks the number of consumers currently executing a task. A new
consumer thread is now spawned the moment the queue is non-empty and
all existing consumers are busy, enabling true parallel execution of
slow and fast commands. The pool is capped at os.cpu_count() threads.

- bot.py: replace cnsr_thrd_size with cnsr_active + cnsr_lock + cnsr_max
- consumer.py: increment/decrement cnsr_active around stm.run(), remove
  itself from cnsr_thrd under the lock, mark thread as daemon

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-06 23:08:27 +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 bot: Fix sequential message processing with proper consumer pool 2026-03-06 23:08:27 +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.