// the find
errbotio/errbot
Errbot is a chatbot, a daemon that connects to your favorite chat service and bring your tools and some fun into the conversation.
Errbot is a Python chatbot framework that connects to chat services (Slack, Discord, Telegram, IRC, XMPP) and lets you write plugins to trigger scripts, run chatops workflows, or just mess around. It's aimed at teams who want to run automation from chat without stitching together webhooks and bots by hand. It's been around long enough to have a real plugin ecosystem and a plugin manager built in.
The plugin model is genuinely clean — a decorated method and a docstring is all you need for a working command, and the docstring becomes the help text automatically. Built-in persistence (`self['key'] = value`) means plugins don't need to wire up their own storage for simple state. The conversation flow system is a real feature, not a bolt-on — it lets plugins track multi-step interactions with users without maintaining external state machines. Test infrastructure is solid: there's an end-to-end test backend so you can test plugins without a live chat server.
Slack support is in a separate repo (`err-backend-slackv3`) with its own maintenance story — if that falls behind the Slack API, you're blocked and the core team can't help you. The storage system is file-based shelves by default, which will bite you the moment you run more than one instance or want to inspect data outside the bot. The config system is a raw Python file (`config.py`), which is fine for one person but becomes a problem in any environment where you want secrets management or config injection. Activity on the core repo has been quiet for years despite the recent push date; the ecosystem depends heavily on community-maintained backends that vary wildly in quality.