Skip to content

proyecto-chaucha/bot-template

Repository files navigation

Bot Template

Es la base para crear bots de telegram.

Requerimientos

Configurar Archivo .env

Se debe configuar el archivo .env dentro de src/ con las claves dadas por el Botfather

cp env.example .env
vim .env

Establecer BOT_TELEGRAM_KEY="" y para ejecutar el bot con

python3 .

Instalación con Docker

Se ha utilizado Docker Compose para poder crear un ambiente de desarrollo.

Instalación y Ejecución

docker-compose build

docker-compose up -d

Ver logs:  docker logs telegram-bot

(Mac) Instalación con Homebrew

Se utilizarán los comandos de mac con homebrew https://brew.sh/

brew install python && brew install pipenv

Asegurar de que el entorno esté configurado en .bashrc o .zshrc

export PATH=/usr/local/bin:/usr/local/sbin:$PATH

Instalación con pip

También es posible utilizando pip3 normalmente

pip3 install pipenv

Ejecución

Asegurar de que las variables de idioma estén en el entorno

export LC_ALL=C.UTF-8
export LANG=C.UTF-8

Luego se debe ejecutar el comando

pipenv install && pipenv shell

Para poder instalar las dependencias y habilitar el entorno.

Editor Recomendado

El editor de código recomendado es PyCharm https://www.jetbrains.com/pycharm/ edición comunitaria. Otra alternativa es Ninja Ide http://ninja-ide.org/.

Materiales Recomendados

Paquetes Usados

Los paquetes utilizados para crear el esqueleto del bot son los siguientes:

Crear Comandos

El bot tiene una estructura que permite crear nuevos comandos de forma simple. Cada comando debe tener como mínimo dos archivos.

Estos archivos deben estar dentro de un directorio con el nombre del comando dentro de bot/commands

directorio/

  • __init__.py : Debe tener clase Command Subclase de BaseCommand. Almacena datos generales del comando.
  • controller.py: Debe tener clase Controller Subclase de BaseController. Ejecuta la lógica y coordina con los otros componentes.

El bot cargará el comando automáticamente. Si se desea deshabilitar un comando se debe agregar el directorio a la lista de comandos deshabilitados en __main__.py

Los archivos opcionales de cada comando son los siguientes:

  • view.py: Almacena los mensajes que el bot puede entregar como respuesta
  • requester.py: Se encarga de realizar los llamados a los webservices y api rest
  • model.py: Se encarga de interactuar con las base de datos u otro tipo de almacenamiento
  • validator.py: Se encarga de validar y sanitizar los parámetros de entrada

Paquetes Recomendados

Los siguientes paquetes pueden ser de utilidad para crear un bot. También se recomienda seguir patrones de diseño como:

Crypto

Telegram

Comunicación

Utilidades

Almacenamiento y Validación

Configuración

Herramientas para control de calidad

About

A Base Telegram Bot App with Boilerplate code

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages