Metadata-Version: 2.1
Name: butterrobot
Version: 0.0.2a3
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

![Build stable tag docker image](https://github.com/fmartingr/butterrobot/workflows/Build%20stable%20tag%20docker%20image/badge.svg?branch=stable)
![Build latest tag docker image](https://github.com/fmartingr/butterrobot/workflows/Build%20latest%20tag%20docker%20image/badge.svg?branch=master)

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           |
| Telegram        | Yes              | Yes           |

## Provided plugins


### Development

#### Ping
  
  Say `!ping` to get response with time elapsed.

### Fun and entertainment

#### Loquito

  What happens when you say _"lo quito"_...? (Spanish pun)

## 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/butterrobot` container image is published on Github packages to
use with your favourite tool:

```
docker pull docker.pkg.github.com/fmartingr/butterrobot/butterrobot:latest
podman run -d --name fmartingr/butterrobot/butterrobot -p 8080:8080 
```

## 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

```
docker run -it --rm --env-file .env-local -p 5000:5000 -v $PWD/butterrobot:/etc/app/butterrobot local/butterrobot python -m butterrobot
```

