Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kerthcet/tbcd-errbot

ChatOps Robot.
https://github.com/kerthcet/tbcd-errbot

Last synced: 23 days ago
JSON representation

ChatOps Robot.

Awesome Lists containing this project

README

        

Errbot
======

Errbot is a chatbot. It allows you to start scripts interactively from your chatrooms
for any reason: random humour, chatops, starting a build, monitoring commits, triggering
alerts...

It is written and easily extensible in Python.

Errbot is available as open-source software and released under the GPL v3 license.

Features
--------

Chat servers support
~~~~~~~~~~~~~~~~~~~~

**Built-in**

- IRC support
- `Hipchat support `_
- `Slack support `_
- `Telegram support `_
- `XMPP support `_

**With add-ons**

- `CampFire `_ (See `instructions `__)
- `Cisco Spark `_ (See `instructions `__)
- `Discord `_ (See `instructions `__)
- `Gitter support `_ (See `instructions `__)
- `Mattermost `_ (See `instructions `__)
- `RocketChat `_ (See `instructions `__)
- `Skype `_ (See `instructions `__)
- `TOX `_ (See `instructions `__)
- `VK `_ (See `instructions `__)
- `Zulip `_ (See `instructions `__)

Administration
~~~~~~~~~~~~~~

After the initial installation and security setup, Errbot can be administered by just chatting to the bot (chatops).

- install/uninstall/update/enable/disable private or public plugins hosted on git
- plugins can be configured from chat
- direct the bot to join/leave Multi User Chatrooms (MUC)
- Security: ACL control feature (admin/user rights per command)
- backup: an integrated command !backup creates a full export of persisted data.
- logs: can be inspected from chat or streamed to Sentry.

Developer features
~~~~~~~~~~~~~~~~~~

- Very easy to extend in Python! (see below)
- Presetup storage for every plugin i.e. ``self['foo'] = 'bar'`` persists the value.
- Conversation flows to track conversation states from users.
- Webhook callbacks support
- supports `markdown extras `_ formatting with tables, embedded images, links etc.
- configuration helper to allow your plugin to be configured by chat
- Text development/debug consoles
- Self-documenting: your docstrings become help automatically
- subcommands and various arg parsing options are available (re, command line type)
- polling support: your can setup a plugin to periodically do something
- end to end test backend
- card rendering under Slack and Hipchat.

Community and support
---------------------

If you have:

- a quick question feel free to join us on chat at `errbotio/errbot on Gitter `_.
- a plugin development question please use `Stackoverflow `_ with the tags `errbot` and `python`.
- a bug to report or a feature request, please use our `GitHub project page `_.

You can also ping us on Twitter with the hashtag ``#errbot``.

Installation
------------

Prerequisites
~~~~~~~~~~~~~

Errbot runs under Python 3.6+ on Linux, Windows and Mac. For some chatting systems you'll need a key or a login for your bot to access it.

Quickstart
~~~~~~~~~~

docker exec -it sh
errbot

How To Config Webserver
Step1: RUN errbot
Step2: RUN !plugin config Webserver {'HOST': '0.0.0.0', 'PORT': 3141, 'SSL': {'certificate': '', 'enabled': False, 'host': '0.0.0.0', 'key': '', 'port': 3142}}
Step3: RUN !plugin activate Webserver
Step4: RUN !restart
Step5: RUN curl -X POST http://localhost:3141/ping

## How To Use
Step1: RUN docker pull yaphetsglhf/chatops-errbot:tag
Step2: docker run -it -p 3141:3141 chatops-errbot:tag
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~