Categorías: Programacion

Cómo crear un bot para Telegram

En esta entrada os vamos a enseñar a crear un pequeño bot para Telegram paso a paso, centrándonos en la configuración del mismo.

Instalando el servidor para el Bot

Lo primero de todo necesitamos crear la infraestructura con la que se va a ejecutar el bot, en mi caso voy a utilizar Node.js y el bot va a estar programado en JavaScript. Lo único que necesitamos es ejecutar el siguiente comando para que nos instale el módulo para poder manejar la API de Telegram:

npm install node-telegram-bot-api

Creando nuestro primer bot

Ahora lo que necesitamos es abrir Telegram y buscar al creador de bots de Telegram, para ello buscamos por @BotFather:

Lo primero que deberíamos hacer es consultar la ayuda, para ver como funciona. Para ello simplemente hay que abrir una conversación con él y usar /help:

Ahora lo único que necesitamos es escribir /newbot e ir siguiendo las indicaciones para obtener token de acceso para la API de Telegram de nuestro bot:

La parte coloreada es el token, esto deberemos mantenerlo en secreto porque es la clave para hacer que nuestro bot funcione. Para comprobar que este funciona correctamente lo único que necesitamos es visitar la siguiente página:
https://api.telegram.org/bot139208008:AAEyqBllGK8VfhPS_yW3IX8CP6aS4-R9k9c/getUpdates?offset=0

Configurando el bot

Ahora ya tenemos creado el bot y los datos para manejarlo, así que solo nos falta añadirle la funcionalidad que necesitamos. Para ello creamos el siguiente archivo y lo ejecutamos con nuestro node:

var TelegramBot = require('node-telegram-bot-api');

var token = '139208008:AAEyqBllGK8VfhPS_yW3IX8CP6aS4-R9k9c';
// Setup polling way
var bot = new TelegramBot(token, {polling: true});
bot.on('text', function (msg) {
  var chatId = msg.chat.id;
  bot.sendMessage(chatId,"Hola Mundo");
});

Primer uso de nuestro bot creado

Ahora lo único que tenemos que hacer es abrir un chat con nuestro bot creado:

Como veis nuestro bot ya esta vivo.

Creando un bot más complejo

Para crear un bot mejor debemos aprender a usar la API de Telegram. Por ejemplo vamos a programar una función loro, que repita todo lo que decimos:

var TelegramBot = require('node-telegram-bot-api');

var token = '139208008:AAEyqBllGK8VfhPS_yW3IX8CP6aS4-R9k9c';
// Setup polling way
var bot = new TelegramBot(token, {polling: true});
bot.on('text', function (msg) {
  var chatId = msg.chat.id;
  bot.sendMessage(chatId,msg.from.first_name + " ha enviado " + msg.text);
});

Ahora con mandarle un mensaje, obtenemos lo siguiente:

Esperamos que os haya parecido interesante el artículo y si tenéis alguna duda o queréis mostrarnos vuestras creaciones, dejamos los comentarios abiertos.

Jorge Durán

Entusiasta de la tecnología desde los 10 años, desarrollador y creador de varios proyectos de software y autodidacta por naturaleza. Ingeniero Informático por la USAL y .Net backend developer en idealista.

Share
Publicado por
Jorge Durán

Recent Posts

Docker: conceptos principales y tutorial paso a paso

Hoy queremos hablaros de Docker un proyecto que cada día es más usado, porque permite…

3 años hace

Crea diagramas rápidamente usando código

Cada vez estamos más acostumbrados a usar código para generar la infraestructura (IaC), documentar nuestro…

3 años hace

Procesamiento del lenguaje natural con ElasticSearch

Uno de los problemas que se presentan con una mayor frecuencia hoy en día, es…

4 años hace

Elige tecnología clásica y aburrida

Uno de los problemas que solemos tener los programadores, es que nos gusta estar a…

4 años hace

Cómo usar Docker en Windows

Docker es una de las herramientas más usadas por los desarrolladores, sin embargo, usarlo en…

4 años hace

Analiza el coste del uso de JavaScript

Como seguramente sabrás el uso de JavaScript ha crecido exponencialmente en los últimos tiempos, sin…

5 años hace