Go to file
Valentin Lorentz e0fdcb67c0 Store IrcUser hostmasks in HostmaskSet to prevent their pattern cache from expiring
When the number of hostmasks exceeds 1000 (the hardcoded size of
_patternCache and _hostmaskPatternEqualCache), this triggers
a pathological case in the LRU caches, that causes all calls to be
a cache miss.
This means that on every IRC message received, ircdb.checkIgnored triggers
a recompilation of *all* user hostmasks, which is very expensive
computationally.

This commit stores them in their own cache to prevent them from
expiring.
2021-05-27 22:15:52 +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 callbacks, Misc, Relay: Fix when the message prefix is just a nick 2021-05-26 17:50:29 +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 Store IrcUser hostmasks in HostmaskSet to prevent their pattern cache from expiring 2021-05-27 22:15:52 +02:00
test Store IrcUser hostmasks in HostmaskSet to prevent their pattern cache from expiring 2021-05-27 22:15:52 +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
CONTRIBUTING.md Fix broken links in CONTRIBUTING.md. 2019-01-02 14:32:22 +01:00
ChangeLog Use gender-neutral pronouns everywhere 2014-07-13 17:23:11 +02:00
LICENSE.md License: Fix formatting again. (GH-862) 2014-09-22 05:27:09 +00:00
MANIFEST.in Explicitly include test/ in release tarballs. Closes GH-1384. 2019-10-28 18:17:13 +01:00
Makefile Add a symlink supybot pointing to src/ + move locales/ to src/ 2019-01-02 14:29:32 +01:00
README.md Move official channel from Freenode to Libera.Chat 2021-05-22 18:51:54 +02:00
RELNOTES supybot-botchk: Directly execute supybot instead of running it in sh 2013-08-23 21:42:01 -04:00
pyproject.toml Autocomplete (+ Fediverse): configure Black. 2020-08-29 18:44:32 +02: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

README.md

Supybot is a robust (it doesnt crash), user friendly (its easy to configure) and programmer friendly (plugins are extremely easy to write) Python IRC bot. 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, as well as more than 50 builtin plugins providing around 400 actual commands.

Limnoria is the project which continues development of Supybot since 2010.

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.