An extremely modulable IRC bot, built around XML configuration files.
- Python 99.9%
- Dockerfile 0.1%
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> |
||
|---|---|---|
| bin | ||
| modules | ||
| nemubot | ||
| .drone.yml | ||
| .gitignore | ||
| .travis.yml | ||
| AUTHORS | ||
| bot_sample.xml | ||
| COPYING | ||
| Dockerfile | ||
| README.md | ||
| requirements.txt | ||
| setup.py | ||
| speak_sample.xml | ||
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.