Desarrollo de BOTs en Telegram

Publicada en Publicada en Programación

Hola a todos!

En esta entrada trataremos de cero la creación de BOTs en Telegram. Pero como siempre, hay que empezar desde el principio.

¿Qué es un BOT?

Básicamente son pequeños programas que encuentran en servidores y podemos acudir a ellos en cualquier momento para conseguir cualquier tipo de funcionalidad.

¿Desde cuándo están disponibles?

A mitad del 2015 Telegram incorporó los bots en su aplicación.

¿Cuál es su función real?

En este caso nos ceñiremos a la propia definición que da Telegram.

  • Recibe notificaciones y noticias personalizadas. Un bot puede actuar como un periódico inteligente, enviándole contenido relevante tan pronto como se publique.
  • Integrar con otros servicios. Un robot puede enriquecer los chats de Telegram con contenido de servicios externos.
  • Acepte pagos de los usuarios de Telegram. Un bot puede ofrecer servicios pagados o trabajar como una tienda virtual.
  • Crea herramientas personalizadas Un bot puede proporcionarle alertas, pronósticos del tiempo, traducciones, formato u otros servicios.
  • Compila juegos de un solo jugador y multijugador. Un robot puede ofrecer experiencias ricas en HTML5, desde simples arcades y acertijos hasta tiradores 3D y juegos de estrategia en tiempo real.
  • Construye servicios sociales. Un bot podría conectar a las personas que buscan interlocutores basados ​​en intereses comunes o proximidad.

¿Conclusión?, puedes hacer prácticamente cualquier otra cosa!

¿Quién puede hacer un bot?

Cualquiera, siempre y cuando tenga los conocimientos suficientes de programación y se anime a hacerlo. Telegram tiene una extensa documentación que nos explica cómo podemos crearlos.

Tipos de bots

Hay dos tipos de bots en Telegram: los bots normales y los llamados "Inline".

Para utilizar los bots normales tenemos que abrir un chat con ellos o incluirlos en el grupo donde queramos utilizarlo.  Pudiendo utilizarlo todas las veces que queramos. Utilizando normalmente la típica sintaxis de / seguido del comando, ejemplo: /tiempo

 

Por otro lado, los Inline Bots están disponible desde principios del año 2016 y la diferencia es en que no necesitamos incluirlos en ninguna grupo para usarlos. Los podemos utilizar en cualquier momento, simplemente tendremos que añadir una arroba con su nombre a la hora de escribir un nuevo mensaje para poder empezar a utilizarlos. Los resultados que nos ofrezcan aparecerán en un menú flotante dentro de la misma conversación y podremos elegir el resultado que más nos guste para mostrar al resto de miembros de dicha conversación.

Un claro ejemplo de los bot inline es el siguiente:

O más bien...

 

Creación del BOT (Introducción)

Telegram creó hace un par de años una API para la creación de bots con la cual se pueden crear la conexión de manera muy simple, ya que todo se hace a través de HTTP.

Lo primero que debemos hacer es crear un chat con @BotFather e iniciarlo.

Una vez hecho hecho, escribiremos /newbot para comenzar el proceso de creación de nuestro bot.

 

Acto seguido, nos preguntará es el nombre de nuestro bot.

En segundo lugar nos pedirá el alias, (este debe terminar en bot).

Por último, BotFather nos devolverá el token para utilizar nuestro BOT mediante la API. Es importante guardar de forma segura ese token.

Podemos configurar muchas más cosas para nuestro bot, aquí os dejo una lista pero no es lo único que hay, para más información os recomiendo leer la documentación oficial.

/setname - cambia el nombre de tu bot.

/setdescription - cambia la descripción del bot, un texto corto de hasta 512 caracteres, que describe tu bot. Los usuarios verán este texto al comienzo de la conversación con el bot, titulado '¿Qué puede hacer este robot?'.

/setabouttext - cambia la información sobre el bot, un texto aún más corto de hasta 120 caracteres. Los usuarios verán este texto en la página de perfil del robot. Cuando comparten tu bot con alguien, este texto se envía junto con el enlace.

/setuserpic - cambia las imágenes de perfil del bot. Siempre es bueno ponerle cara a un nombre.

/setcommands - cambia la lista de comandos soportados por tu bot. Los usuarios verán estos comandos como sugerencias cuando escriban / en el chat con su bot. Cada comando tiene un nombre (debe comenzar con una barra inclinada '/', caracteres alfanuméricos y subrayados, no más de 32 caracteres, sin mayúsculas y minúsculas), parámetros y una descripción de texto. Los usuarios verán la lista de comandos cada vez que escriban '/' en una conversación con su bot.

/deletebot - borra tu bot y libera su nombre de usuario.

/setinline - activa el modo en línea para tu bot.

/setinlinegeo - solicita datos de ubicación para proporcionar resultados en línea basados ​​en la ubicación.

/setjoingroups - alterna si tu bot se puede agregar a grupos o no. Cualquier bot debe ser capaz de procesar mensajes privados, pero si tu bot no fue diseñado para trabajar en grupos, puedes inhabilitarlo.

/setprivacy - establece qué mensajes recibirá tu bot cuando se agreguen a un grupo. Con el modo de privacidad desactivado, el bot recibirá todos los mensajes. Recomendamos dejar el modo de privacidad habilitado.

Para que un BOT pueda enviar mensajes a un usuario, éste deberá haberlo iniciado anteriormente, para ello, accedemos a nuestro bot buscándolo por su nombre (con @ delante) o bien utilizando el link que BotFather nos ha proporcionado (http://t.me/NOMBREDETUBOT) en nuestro caso sería URL: http://t.me/followthewhiterabbit_bot

Y pulsamos sobre el botón "Iniciar"

 

En este momento nuestro BOT ya podría interactuar con nosotros, aunque para ello, tendréis que esperar a la siguiente entrada sobre BOTs en Telegram. Mientras tanto, os dejo que trasteéis con las opciones de personalización que permite BOTFather. También os dejo las siguientes librerías que son las que utilizaremos en la siguiente entrada:

pyTelegramBotAPI --> https://github.com/eternnoir/pyTelegramBotAPI

python-telegram-bot --> https://github.com/python-telegram-bot/python-telegram-bot

 

Finalmente, nuestro BOT luce así:

 

Si queréis más información sobre los BOTs debéis echarle un vistazo al siguiente enlace: https://core.telegram.org/bots

 

Espero que os haya gustado la introducción a los BOTs de Telegram y nos leemos en la próxima entrada 🙂

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Los datos introducidos se guardarán en nuestra base de datos como parte del comentario publicado, como se indica en la política de privacidad.