Crear bot en Telegram y generar token de seguridad para uso por aplicación externa

¿Qué es un Bot de Telegram? ¿Cómo se crea un Bot de Telegram? Os mostramos paso a paso cómo crear un Bot de Telegram, qué es un bot y cómo generar un token para poder programarlo y usarlo externamente.

¿Qué es un Bot de Telegram?

Básicamente se trata de una funcionalidad añadida de Telegram. Es algo parecido a un programa incrustado en Telegram.

Dispone de un API para que cualquier desarrollador pueda implementar estos Bot con la funcionalidad que desee. Se trata de «programas» que se ejecutan dentro de Telegram y permiten realizar diversas tareas para completarlo. Los hay de muchos tipos: meteorológicos, informativos, fitness, personalizados, etc..

En este artículo crearemos un Bot completo y explicaremos su funcionamiento y las posibilidades que contempla.

Para poder realizar necesitaremos acceso a Telegram, o bien desde el móvil o bien desde la aplicación de escritorio, que tendremos que tener instalada previamente.

Desde Telegram crearemos el Bot y lo configuraremos. También generaremos el Token para la seguridad de la conexión con nuestro Bot externamente.

Crear mi primer Bot en Telegram

En primer crearemos el bot propiamente dicho. Para ello accederemos a Telegram, o bien desde la aplicación de escritorio o bien desde el móvil. En «Buscar» escribiremos @BotFather. Pulsaremos sobre él. Es la herramienta de Telegram para crear y gestionar bots, es el padre de los bots. A todos los efectos es como si se tratara de un nuevo contacto en nuestro Telegram, al que le podremos escribir una serie de comandos que es capaz de reconocer para crear y administrar los bots:

Una vez dentro de BotFather, para crear un nuevo Bot, escribiremos el comando:

/newbot

Y pulsaremos «Enviar»:

Nos solicitará el nombre para el nuevo Bot, con el texto: Alright, a new bot. How are we going to call it? Please choose a name for your bot.

Introduciremos el nombre de nuestro Bot y pulsaremos «Enviar». En nuestro caso «ComunidadBiker». A continuación nos solicitará el nombre de un usuario para el bot, que debe acabar con la palabra «bot» (es obligatorio). Por ejemplo «ComunidadBiker_Bot»:

Nos indicará que la creación del bot y del usuario ha sido correcta con el texto:

Good, Now let’s choose a username for your bot, it must end in ‘bot’. Like this, for example: TetrisBot or tetris_bot.

Done! Congratulations on your new bot. You will find it at t.me/ComunidadBiker_Bot. You can now add a description, about section and profile picture for your bot, see /help for a list of commands. By the way, when you’ve finished creating your cool bot, ping our Bot Support if you want a better username for it. Just make sure the bot is fully operational before you do this.

Use this token to access the HTTP API: xxxx

Keep your token secure and store it safely, it can be used by anyone to control your bot.

Con estos sencillos pasos tendremos creado el Bot en Telegram. A partir de ahora podremos configurarlo y usarlo. Por ejemplo, podremos indicar una descripción sobre la funcionalidad y uso del Bot. Para ello escribimos el comando:

/setdescription

Si tenemos varios bots deberemos elegir al que queramos establecer la descripción. BotFather nos indicará que introduzcamos una descripción que será pública y cualquier persona que se una a este Bot la verá, con el texto: OK. Send me the new description for the bot. People will see this description when they open a chat with your bot, in a block titled ‘What can this bot do?’.Nosotros pondremos esta descripción:

Bienvenidos al Bot de Comunidad Biker MTB. Este Bot os permitirá realizar determinadas tareas en la web comunitaria de forma automática, así como obtener información y otras muchas cosas.

Se puede modificar en cualquier momento volviendo a ejecutar el mismo comando (/setdescription).

Existen muchos más comandos para personalizar nuestro Bot (la imagen, el acerca de, …), incluso para eliminarlo o para obetener o volver a generar el token de seguridad para su uso con aplicaciones externas (como veremos más adelante). Algunos de los comandos:

  • /setname: cambiar el nombre del bot.
  • /setdescription: cambiar la descripción.
  • /setabouttext: cambiar la información de acerca de.
  • /setuserpic: cambiar la foto de perfil del bot.
  • /setcommands: cambiar la lista de comandos (se puede agregar comandos personalizados).
  • /deletebot: eliminar un bot.
  • /token: generar el token de autorización.
  • /revoke: revocar el token de autorización (para generar uno diferente).
  • /setinline: pasar a modo .
  • /setinlinegeo: pasar a modo inline location requests.
  • /setinlinefeedback: cambiar el feeback.
  • /setjoingroups: con este comando estableceremos si nuestro bot se podrá añadir a grupos (Enable/Disable
  • /setprivacy: con este otro comando estableceremos las opciones de privacidad. Con Enable el bot solo recibirá mensajes si se añade el símbolo / o si se menciona (con la arroba y el nombre). De lo contrario no recibirá los mensajes restantes que se escriban en los grupos a los que esté unido. Si por el contrario elegimos Disable, al bot le llegarán todos los mensajes que se escriban en el grupo o grupos a los que esté unido.

Establecer el token para nuestro Bot en Telegram

El token es una palabra de seguridad obligatoria para poder conectar con nuestro Bot desde aplicaciones externas. Es única para cada bot. Será la forma en la que lo identifiquemos y accedamos a él.

En realidad, cuando creamos el bot nos devuelve el token generado, como hemos visto anteriormente. Pero podemos consultarlo en cualquier momento con el comando:

/token

El token generado constará de un número al principio (el identificador del Bot), luego dos puntos y luego el token propiamente dicho. Deberemos almacenarlo en lugar seguro (aunque siempre se puede consultar con el comando /token) y nunca deberemos exponerlo públicamente. Si tenemos la duda o certeza de que el token ha sido visto por alguien externo a nosotros podremos revocarlo y obtener otro. Cualquier persona con acceso al token tendrá el control total para acceder al Bot externamente.

Cambiar el token de un bot de Telegram

Si queremos revocar el token de seguridad actual de un bot y cambiarlo por uno nuevo, por ejemplo cuando hemos expuesto el token públicamente, por motivos de seguridad, podremos hacerlo usando el siguiente comando desde BootFather:

/revoke

Como siempre, si tenemos varios bots nos los mostrará en botones para que elijamos el que queramos revocar el token:

Y ya podremos disponer de un nuevo token de seguridad, invalidando el anterior.

Cambiar o establecer foto de perfil del bot

Para establecer una foto de perfil del bot o bien cambiar una existente escribiremos en BootFather el comando:

/setuserpic

Nos indicará que elijamos el bot y luego que subamos una foto para establecerla como foto de perfil del bot:

Con el texto: OK. Send me the new profile photo for the bot.

La seleccionaremos pulsando en el clip:

Marcaremos «Enviar como foto»:

Y si todo es correcto nos indicará «Success! Profile photo updated.«

Acceso al bot de Telegram

Una vez creado y establecida su configuración, para acceder será tan fácil como escribir desde cualquier usuario de Telegram (desde nosotros mismos o desde «Mensajes guardados» o en el propio BotFather), en nuestro caso:

@ComunidadBiker_Bot

Una vez escrito pulsaremos «Enviar» y pulsaremos sobre el enlace al bot (@ComunidadBiker_Bot):

O también podremos buscarlo en la búsqueda global de Telegram:

En el primer acceso nos mostrará la información que hayamos indicado en la descripción y el botón «INICIAR»:

Que ejecutará el comando /start:

El bot quedará como un usuario más de los contactos con los que escribimos mensajes y grupos:

En cualquier momento podremos eliminar y bloquear el bot, pulsando con el botón derecho del ratón sobre él:

Otras funciones, eliminar bot

BotFather cuenta con otras muchas funciones, una de ellas es eliminar un bot existente. Si queremos eliminar un bot ejecutaremos el comando:

/deletebot

Elegiremos el bot a eliminar y nos pedirá confirmación, para eliminarlo definitivamente deberemos escribir, exactamente:

Yes, I am totally sure.

Programar funciones en bot de Telegram, dar funcionalidad al bot

Una vez creado y configurado nuestro bot, lógicamente deberemos programar las funciones que queramos que realice. Esta tarea puede hacerse de diversas formas y con diversos entorno de desarrollo: Java, C#, etc.. Incluso existen herramientas para programar los bot de forma semiautomática y sin necesidad de conocimientos de lenguajes de programación, pero suelen ser más limitadas.

Una forma de comprobar que el bot funciona correctamente es, desde el navegador, acceder a la URL:

https://api.telegram.org/bot__ID_BOT__:__TOKEN_BOT__/getUpdates

Cambiando __ID_BOT__ :__TOKEN_BOT_ por el token del bot, si el bot está correctamente configurado obtendremos

Si la URL no fuera correcta o el token no se corresponde con el ID del bot mostrará este texto JSON:

ok: false
error_code: 401
description: «Unauthorized»

Si agregamos el bot a un grupo o si le escribimos como si de un usuario se tratara, podremos ver todos los mensajes enviados al bot desde la URL anterior:

De esta forma podremos hacer casi cualquier cosa con nuestro bot. Por ejemplo, desde una aplicación .Net con C# podremos responder a determinados comandos y hacer determinadas tareas (las que queramos), tanto en el equipo en el que se ejecuta la aplicación que lee los mensajes que le llegan al bot, como en el propio Telegram usando el bot y el API.

En artículos sucesivos mostraremos un ejemplo de añadir funcionalidad a un bot de Telegram usando Microsoft Visual Studio Community y C#.

alonsojpd

alonsojpd

Presidente y fundador de Proyecto A y AjpdSoft

Deja un comentario