Bots en Telegram (I): Creación de un bot de Telegram

AdriMcGrady 16/06/2023

Empezamos una nueva serie de artículos relacionados con los bots de Telegram. En mi opinión, son una herramienta muy útil para integrar con nuestros scripts o programas para que nos informen de incidencias, el estado de funcionamiento de un servicio o cualquier cosa que se nos ocurra. En este primer capítulo, vamos a empezar por lo más básico: Crear un bot de Telegram. Y dejaré para los siguientes artículos otras cosas, como realizar diferentes acciones con ellos. La idea no es entrar en el detalle de todo lo que se puede hacer con un bot de Telegram porque sería casi infinito, pero sí mostrar como enviar mensajes desde bash o python por ejemplo. Es decir, os contaré como hacer que el bot os envíe mensajes pero ignoraré otras partes como conversar con el bot.

Bots en Telegram

Los bots de telegram son, en esencia, pequeñas aplicaciones que corren completamente dentro de la propia aplicación de Telegram. Tienen muchas funcionalidades y campos de aplicación. Desde reemplazar completamente a webs enteras, a integrar diferentes servicios, pasando por juegos en HTML. Vamos, que las aplicaciones del os bots de Telegram llegan prácticamente a cualquier cosa que se nos ocurra. Y es precisamente por esto, por lo que que a lo largo de esta serie voy centrarme en la utilidad que personalmente a mí más me ayuda. Se trata de usarlo como sistema de notificación para mis scripts y programas. Es decir, usar un bot como un sistema de notificación asociado a mis scripts y programas.

Crear un bot de Telegram

Pero este capítulo 1 trata de como crear un bot de Telegram, así que vamos a ello. No pienses que es nada muy complicado ni nada por el estilo porque vas a tener ayuda. En concreto, nos va ayudar un bot oficial de Telegram creado para este cometido: @BotFather.

BotFather Avatar

Lo primero que tienes que hacer es abrir una conversación con @BotFather. Da igual que lo hagas, desde la web, un cliente de escritorio o la aplicación para móviles. Si nunca has hablado con él tendrás que pulsar en Iniciar para comenzar. En cuanto hagas esto último, BotFather te responderá con a las acciones que puedes realizar.

BotFather acciones posibles

Como ya habrás imaginado, la creación del nuevo bot se realiza enviando la orden /newbot. Y mediante un proceso interactivo, BotFather te irá pidiendo lo siguiente:

  • Nombre del Bot: Es lo que aparecerá en la lista de contactos y por todos lados en realidad. Puede ser cualquier cadena de texto conteniendo incluso espacios. Para este ejemplo, le daremos el siguiente nombre: El Bot de noroute2host.com.
  • Nombre de usuario: Será el nombre de usuario del bot y se usará también en las menciones los enlaces t.me y la búsqueda. Para el que estamos creando será noroute2host_bot. Aquí si hay que tener en cuenta lo siguiente:
    • Que debe tener una longitud de 5 a 32 caracteres.
    • Debe estar formado únicamente por letras, números y/o “_”.
    • Ha de terminar en “bot”. Aunque no distingue entre mayúsculas y minúsculas, por lo que podría terminar en bot o Bot.

Una vez que se le pasan los datos a BotFather este te devuelve tanto, un enlace al bot que en este caso es https://t.me/noroute2host_bot como el Token del mismo. Este token debes guardarlo en lugar seguro y no compartirlo, pues es lo que va a servir como autorización para usar el bot. Cualquiera con el token puede hacer llamadas a la API de Telegram y usar el bot.

Telegram resultado newbot

Como puedes ver en las acciones que permite BotFather, estas son muy diversas. Van desde modificar el perfil del bot hasta eliminarlo. Aquí te dejo una lista de algunos de ellas:

  • /setname para cambiar el nombre al bot.
  • /setdescription para cambiar la descripción de nuestro bot.
  • /setabouttext para cambiar la información que aparece en el acerca de.
  • /setuserpic para cambiar la imagen de perfil de nuestro bot.

Así que, por ejemplo, puedes cambiar la imagen de perfil del bot con /setuserpic y enviar la imagen que quieras a la conversación de BotFather.

Telegram botfather setuserpic

Y este sería el resultado:

Perfil bot Telegram noroute2host_bot

Obtener tu chatID

Como ya te he contado como crear el bot, lo siguiente que necesitas para que tu bot te alerte con las notificaciones o mensajes que quieras, es obtener tu Chat ID. Esto se puede hacer de varias maneras, pero te voy a contar la que para mí es más sencilla y además se ajusta más a lo que ya hemos visto en este post.

Para obtener tu chat id, vamos a usar otro bot @myidbot. En este caso diría que no es bot oficial, pero es tremendamente útil. La operativa es bastante similar a la que seguimos con BotFather:

  • Abrimos un chat con el bot.
  • Le enviamos la orden de inicio /start si no se envía automáticamente.
  • Le pedimos el id con /getid.

Aquí está el proceso, esta vez desde un dispositivo móvil:

Obtener Chat ID bot Telegram

En el siguiente capítulo…

Con lo descrito en este post ya puedes crear tu bot de Telegram y obtener tu Chat ID para realizar el envío de mensajes. En el siguiente o los siguientes capítulos detallaré el envío de mensajes usando el bot desde varias fuentes como pueden ser bash o python.

Enlaces de interés:

Artículo anterior Artículo siguiente

Artículos relacionados: