Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/abnatal/botobot

🐬 BotoBot is an easy to configure menu-based chatbot for Whatsapp / Telegram.
https://github.com/abnatal/botobot

Last synced: about 2 months ago
JSON representation

🐬 BotoBot is an easy to configure menu-based chatbot for Whatsapp / Telegram.

Awesome Lists containing this project

README

        

# 🐬 BotoBot
BotoBot is an easy to configure menu-based chatbot for Whatsapp / Telegram.

It's composed by three python applications:
- BotoBot Core
- Telegram Client
- WhatsApp Client

Check the live demo at https://t.me/BotoBotDemo_bot

## Prerequisites
### For Telegram
You have to register a new bot at https://t.me/BotFather

Check the documentation at https://core.telegram.org/bots#6-botfather or watch a tutorial video on youtube.

### For WhatsApp
You need to setup an account with a Facebook Business Solution Provider (BSP) for Whatsapp. Currently, this project supports Gupshup and Positus.

## Project structure

```
Project
├── core
| ├── botobot_core: Flask application to handle the user input and call services APIs.
|
├── telegram
│ ├── botobot_telegram: Python application to interface with Telegram API.
|
├── whatsapp
│ ├── botobot_whatsapp: Flask application to interface with the Facebook BSP.
|
├── requirements.txt: List of modules dependecies.
```

## How to Build and Run
### Docker
Use the __docker-compose.yml__ provided.
```
# First, configure each application by editing its "settings.toml" file..
# Instructions about configuration are presented at the README.md files inside each project folder.

cd core
cp settings.toml.sample settings.toml
vi settings.toml

cd ../telegram
cp settings.toml.sample settings.toml
vi settings.toml

cd ../whatsapp
cp settings.toml.sample settings.toml
vi settings.toml

# Run with docker-compose:
cd ..
docker-compose up -d --build
```
Tested with Docker 20.10.21 and Docker Compose v2.14.1.

### Running as standalone apps
Please check the README.md files inside each project folder (core, telegram, whatsapp) for instructions.

The WhatsApp and Telegram clients depend on the BotoBot Core project.

## Technologies used
- Python
- Flask RESTful
- SQLAlchemy

## Future tasks

- [ ] Admin Interface

## Why "boto"?
Boto is the amazon river dolphin. One of their strongest skills is communication.