1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
|
Errbot
======
*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
-----------
.. image:: _static/screenshots/thumb_slack.png
:target: _static/screenshots/slack.png
:alt: Showing output of the built-in help command in Slack
.. image:: _static/screenshots/thumb_telegram.png
:target: _static/screenshots/telegram.png
:alt: Errbot running on Telegram showing the !help command
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 :class:`~errbot.botplugin.BotPlugin`.
The docstrings will be automatically reused by the :ref:`\!help <builtin_help_function>`
command::
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.
.. toctree::
:maxdepth: 2
features
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.
Community
---------
You can interact directly with the community online from the "Open Chat"
button at the bottom of this page. Don't be shy and feel free to ask any question
there, we are more than happy to help you.
If you think you hit a bug or the documentation is not clear enough,
you can `open an issue`_ or even better, open a pull request.
User guide
----------
.. toctree::
:maxdepth: 2
user_guide/setup
user_guide/administration
user_guide/plugin_development/index
user_guide/flow_development/index
user_guide/backend_development/index
user_guide/storage_development/index
user_guide/sentry
Getting involved
----------------
.. toctree::
:maxdepth: 3
contributing
API documentation
-----------------
.. toctree::
:maxdepth: 3
errbot
Release history
---------------
.. toctree::
:maxdepth: 2
changes
License
-------
Errbot is free software, available under the GPL-3 license. Please refer to the
:download:`full license text <gpl-3.0.txt>` for more details.
.. _`GitHub page`: http://github.com/errbotio/errbot/
.. _`plugin list`: https://github.com/errbotio/errbot/wiki
.. _`open an issue`: https://github.com/errbotio/errbot/issues
|