butterrobot/README.md

86 lines
1.8 KiB
Markdown

# Butter Robot
[![Docker Repository on Quay](https://quay.io/repository/fmartingr/butterrobot/status "Docker Repository on Quay")](https://quay.io/repository/fmartingr/butterrobot)
Python framework to create bots for several platforms.
![Butter Robot](./assets/icon@120.png)
> What is my purpose?
## Supported platforms
| Name | Receive messages | Send messages |
| --------------- | ---------------- | ------------- |
| Slack (app) | Yes | Yes |
| Slack (webhook) | Planned | No[^1] |
| Telegram | Yes | Yes |
[^1]: Slack webhooks only supports answering to incoming event, not
sending messages on demand.
## Provided plugins
### Butter robot
- [ ] Help
- [ ] Usage
- [ ] Changelog
### Development
- [x] Ping
### Fun and entertainment
- [ ] Dice roll
- [x] Loquito
## Installation
### PyPi
You can run it directly by installing the package and calling it
with `python` though this is not recommended and only intended for
development purposes.
```
$ pip install --user butterrobot
$ python -m butterrobot
```
### Containers
The `fmartingr/butterrobot` container image is published on quay.io to
use with your favourite tool:
```
podman run -d --name butterrobot -p 8080:8080 quay.io/fmartingr/butterrobot
```
## Contributing
To run the project locally you will need [poetry](https://python-poetry.org/).
```
git clone git@github.com:fmartingr/butterrobot.git
cd butterrobot
poetry install
```
Create a `.env-local` file with the required environment variables,
you have [an example file](.env-example).
```
SLACK_TOKEN=xxx
TELEGRAM_TOKEN=xxx
...
```
And then you can run it directly with poetry
TODO: Autoload .env-local
```
docker run -it --rm --env-file .env-local -p 5000:5000 -v $PWD/butterrobot:/etc/app/butterrobot local/butterrobot python -m butterrobot
```