Errbot — Err 9.9.9 documentation (original) (raw)
Errbot is a chatbot, a daemon that connects to your favorite chat service and brings your tools into the conversation.
The goal of the project is to make it easy for you to write your own plugins so you can make it do whatever you want: a deployment, retrieving some information online, trigger a tool via an API, troll a co-worker,…
Errbot is being used in a lot of different contexts: chatops (tools for devops), chatroom engagement, home security, socials platform (such as Slack, Discord, IRC), etc.
Screenshots¶
Simple to build upon¶
Extending Errbot and adding your own commands can be done by creating a plugin, which is simply a class derived from BotPlugin. The docstrings will be automatically reused by the !helpcommand:
from errbot import BotPlugin, botcmd
class HelloWorld(BotPlugin): """Example 'Hello, world!' plugin for Errbot."""
@botcmd
def hello(self, msg, args):
"""Say hello to the world."""
return "Hello, world!"
Once you said “!hello” in your chatroom, the bot will answer “Hello, world!”.
Batteries included¶
We aim to give you all the tools you need to build a customized bot safely, without having to worry about basic functionality. As such, Errbot comes with a wealth of features out of the box.
- Multiple server backends
- Core features
- Built-in administration and security
- Extensive plugin framework
Sharing¶
One of the main goals of Errbot is to make it easy to share your plugin with others as well.
Errbot features a built-in repositories command (!repos) which can be used to install, uninstall and update plugins made available by the community. Making your plugin available through this command only requires you to publish it as a publicly available Git repository.
You may also discover plugins from the community on our plugin list that we update from plugins found on github.
User guide¶
- Setup
- Administration
- Plugin development
- 1. Intro
- 2. Development environment
- 3. Hello, world!
- 4. Advanced bot commands
- 5. Messaging
- 6. Presence
- 7. Mentions
- 8. Persistence
- 9. Configuration
- 10. Streams
- 11. Plugin Dependencies
- 12. Dynamic plugins (advanced)
- 13. Scheduling
- 14. Webhooks
- 15. Testing your plugins
- 16. Logging
- 17. Exception Handling
- 18. Plugin compatibility settings
- 19. Backend-specifics
- Flow development
- [Advanced] Backend development
- [Advanced] Storage Plugin development
- Logging to Sentry
Getting involved¶
API documentation¶
- errbot package
- Subpackages
* errbot.backends package
* errbot.core_plugins package
* errbot.rendering package
* errbot.storage package - Submodules
* errbot.backend_plugin_manager module
* errbot.bootstrap module
* errbot.botplugin module
* errbot.cli module
* errbot.config-template module
* errbot.core module
* errbot.flow module
* errbot.logs module
* errbot.plugin_info module
* errbot.plugin_manager module
* errbot.plugin_wizard module
* errbot.repo_manager module
* errbot.streaming module
* errbot.templating module
* errbot.utils module
* errbot.version module - Module contents
* BotFlow
* BotPlugin
* Command
* CommandError
* Flow
* FlowRoot
* arg_botcmd()
* botcmd()
* botflow()
* botmatch()
* cmdfilter()
* re_botcmd()
* webhook()
* webroute()
- Subpackages
Release history¶
- v9.9.9 (unreleased)
- v6.2.0 (2024-01-01)
- v6.1.9 (2022-06-11)
- v6.1.8 (2021-06-21)
- v6.1.7 (2020-12-18)
- v6.1.6 (2020-11-16)
- v6.1.5 (2020-10-10)
- v6.1.4 (2020-05-15)
- v6.1.3 (2020-04-19)
- v6.1.2 (2019-12-15)
- v6.1.1 (2019-06-22)
- v6.1.0 (2019-06-16)
- v6.0.0 (2019-03-23)
- v6.0.0-alpha (2018-06-10)
License¶
Errbot is free software, available under the GPL-3 license. Please refer to thefull license text for more details.