Metadata-Version: 2.1
Name: butterrobot
Version: 0.0.2a1
Summary: What is my purpose?
License: GPL-2.0
Author: Felipe Martin
Author-email: me@fmartingr.com
Requires-Python: >=3.7,<4.0
Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Dist: aiohttp (>=3.6.2,<4.0.0)
Requires-Dist: colorama (>=0.4.3,<0.5.0)
Requires-Dist: quart (>=0.11.3,<0.12.0)
Requires-Dist: structlog (>=20.1.0,<21.0.0)
Description-Content-Type: text/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
```

