botella

Write your bot plugins with ...


Usage As simple as editing a yaml

Your project should have a YAML file with the configuration, botella will read it and launch your bot.

$ cat botella.yaml
adapters:
  - name: slack
    environment:
      key: xoxb-xxx

plugins:
  - image: agonzalezro/botella-test
    environment:
      KEY: this-is-a-secret
    only_mentions: true

$ ./botella # just launch it!

It supports more options than the ones shown above, check the readme to learn them.


Plugins Write them with your favourite language

Plugins for botella are just Docker containers that receive a JSON an return plain text. For example, this is an Slack message:

{
  "version": -1,
  "emitter": "U02SLLLH7",
  "receiver": "G2TF58RH9",
  "body": "u003c@U1PQFQ2SJu003e hi there my friend, do a deploy please"
}

You can find an example here and a list of available plugins here.

Probably in some point you would like to add storage, just use environment variables to define where it is (ex: host) and how to access it (ex: username & password).


Adapters Slack? HTTP? Add your own

The idea behind botella is reach the maximum level of plugability with the minimum effort. For that reason, just editing the yaml file you will be able to add your bot to different stream, for example, to Slack and as an HTTP server.

Also, if you are a Go developer adding your own adapter wouldn't be complicated at all (check the current ones and the interface, it's pretty straigh forward). We have plans to add Telegram, IRC, Github et al.