Go to file
Clark Boylan 67a39a3adb
Fix joins to many channels (#1473)
* Fix joins to many channels

If you have enough channels that the 512 byte message limit on the JOIN
message is hit then limnoria was losing the channel that put it over the
limit and not including it in the next JOIN message. This resulted in
losing one channel for every JOIN message that pushed us over 512 bytes.

We fix this by generating the JOIN message immediately after resetting
the channels list to ensure we include the channel that pushed us over
the limit. Then the next time through our JOIN msg construction we'll
add subsequent channels without forgetting the one that pushed us over.

* Add test for channel join lists

This adds a test for the issue that is fixed in the previous commit. We
ensure that when JOINs are split over multiple messages we JOIN to all
channels that were part of the input list and don't forget any of them.
2021-06-14 23:15:43 +02:00
locales Fix msgfmt warnings. 2020-03-26 22:10:28 +01:00
man remove docs/ && move manpages to man/ 2014-12-08 09:52:42 +02:00
plugins Services: Add @nickserv and @chanserv command, to message services directly 2021-06-14 21:47:36 +02:00
sandbox all plugins: auto-generate READMEs 2021-04-05 17:42:31 +02:00
scripts Move official channel from Freenode to Libera.Chat 2021-05-22 18:51:54 +02:00
src Fix joins to many channels (#1473) 2021-06-14 23:15:43 +02:00
test Fix joins to many channels (#1473) 2021-06-14 23:15:43 +02:00
.gitattributes Remove test from .gitattributes 2015-03-04 00:32:40 -05:00
.gitignore Revert changes to the structure of sdist packages. 2019-02-23 00:12:06 +01:00
.mailmap .mailmap: update my email 2020-05-15 11:28:09 -07:00
.travis.yml .travis.yml: Disable optional dependencies on py3.6, python-cryptography no longer supports it. 2021-03-04 20:33:35 +01:00
ChangeLog Use gender-neutral pronouns everywhere 2014-07-13 17:23:11 +02:00
CONTRIBUTING.md Fix broken links in CONTRIBUTING.md. 2019-01-02 14:32:22 +01:00
LICENSE.md License: Fix formatting again. (GH-862) 2014-09-22 05:27:09 +00:00
Makefile Add a symlink supybot pointing to src/ + move locales/ to src/ 2019-01-02 14:29:32 +01:00
MANIFEST.in Explicitly include test/ in release tarballs. Closes GH-1384. 2019-10-28 18:17:13 +01:00
pyproject.toml Autocomplete (+ Fediverse): configure Black. 2020-08-29 18:44:32 +02:00
README.md README: Synchronize description with the website. 2021-06-05 10:29:21 +02:00
RELNOTES supybot-botchk: Directly execute supybot instead of running it in sh 2013-08-23 21:42:01 -04:00
requirements.txt Add a 'limnoria.plugins entrypoint, to discover plugins installed via pip/setuptools. 2020-05-08 22:02:05 +02:00
setup.py README+setup: Update supported Python versions 2021-03-13 13:15:41 +01:00
supybot Add a symlink supybot pointing to src/ + move locales/ to src/ 2019-01-02 14:29:32 +01:00

Limnoria is a multipurpose Python IRC bot, designed for flexibility and robustness, while being easy to install, set up, and maintain.

It aims to be an adequate replacement for most existing IRC bots. It includes a very flexible and powerful ACL system for controlling access to commands, an equality powerful configuration system to customize your bot, as well as more than 60 builtin plugins providing around 400 actual commands.

There are also dozens of third-party plugins written by dozens of independent developers, and it is very easy to write your own with only basic knowledge of Python.

It is the successor of Supybot since 2010 and provides many new features, but keeps full compatibility with existing configurations and plugins.

Build status

Master branch: Build Status (master branch)

Testing branch: Build Status (testing branch)

Limnoria supports CPython 3.4 to 3.9, CPython nightly, and Pypy 3.

Support

Documentation

If this is your first install, there is an install guide. You will probably be pointed to it if you ask on IRC how to install Limnoria. TL;DR version:

sudo apt-get install python3 python3-pip python3-wheel
pip3 install --user limnoria
# You might need to add $HOME/.local/bin to your PATH
supybot-wizard

There is extensive documentation at docs.limnoria.net and at Gribble wiki. We took the time to write it; you should take the time to read it.

IRC channels

In English

If you have any trouble, feel free to swing by #limnoria on Libera.Chat and ask questions. Well be happy to help wherever we can. And by all means, if you find anything hard to understand or think you know of a better way to do something, please post it on the issue tracker so we can improve the bot!

In Other languages

Only in French at the moment, located at #limnoria-fr on Libera.Chat.