Telegram bot

3. Mi primer bot

En teoría se puede programar un bot directamente utilizando la api bot de telegram. Nosotros además utilizaremos la librería python-telegram-bot. Esta librería proveé una interfaz asincrónica para interactuar con la api bot de telegram. Además agrega varias clases de alto nivel que facilitan el desarrollo de bots.

$ git clone https://github.com/GermanXander/docker_iot.git

# branch TBa

Esta librería trabaja asociando una aplicación a un bot. El constructor de la aplicación requiere como argumento el token del bot. Seguidamente se crean una serie de "manipuladores" (handler). En este ejemplo manipulan comandos. Un comando es un texto que comienza con "/". Creamos un manipulador para el comando /start y otro para /acercade.

Cada manipulador recibe 2 parámetros: el comando al que responde (sin la /) y la función que debe ejecutar cuando se invoca dicho comando.

Las funciones invocadas por los manipuladores a su vez reciben dos argumentos: "update" que es un objeto que contiene toda la información y datos de parte de telegram (mensaje,usuario , etc) y "context" otro objeto que contiene toda la información y datos del estado de la librería (Bot, Application, job_queue, etc).

En @BotFather se puede definir los comandos que acepta el bot. Esto es simplemente a modo de ayuda y autocompletado para el usuario del bot.

Argumentos

Los comandos pueden ir acompañados de argumentos. Los argumentos son una propiedad del objeto context.

# branch TBb

para averiguar el ID de un objeto se puede utilizar la api web de telegram

https://api.telegram.org/bot{TOKEN}/getUpdates