Como crear un bot de Telegram Parte: 01

BotFather y primeros pasos

Ando practicando con las librerías de Hive, pero al mismo tiempo ando interesado por retomar y mejorar mis conocimientos para la creación de bots de Telegram, asi que voy a hacer un bot de Telegram con el que le iremos poniendo diversas funciones de Hive e iré explicando paso a paso como se puede ir desarrollando por si te interesa el tema y quieres intentar crear el tuyo.

Claro, para esto debes de tener conocimientos en programación de preferencia de NodeJS/JavaScript, aunque sea lo basico, además que una de las ventajas de Telegram es que te permite usar diferentes lenguajes de programación para que no te sientas limitado. Teniendo librerías para PHP, NodeJS, Rust, Python, Ruby, Swift, Kotlin, Java, GO, y más lenguajes1. Por lo general escogería la librería en Ruby, pero como la versión de Ruby que uso no funciona la librería de Hive, entonces optaré por la de Node.js para que todo sea full JavaScript, en párrafos mas adelante mencionaré la librería en concreto que usaré. Ya en un futuro y con otro tipo de bot mostrare como crearlo con Ruby

Algunas librerias para hacer bots con Telegram

Creando el bot en BotFather

Antes que nada tenemos que crear nuestro bot desde Telegram para que nos dé nuestro token que es el que vamos a usar para que pueda reconocer que es nuestro bot el que está llamando a la API de Telegram, para ello tenemos que ir al bot: BotFather para decirle que crearemos nuestro bot

Los comandos que podemos usar en el BotFather

Ahí podemos ver los diferentes comandos que podemos usar, el que nos interesa es justamente el de /newbot, para que creemos nuestro bot, para ello le damos click, y nos pedirá que escribamos el nombre de nuestro bot, que para el caso del “tutorial” pondre el nombre del “Shadow Myst bot”, pero utilizaré el bot que cree llamado “Escuadron 201”. Despues de ponerle nombre tienes que colocarle el nombre de usuario el cual debe terminar con “bot”, para mi caso quedo como “shadowmystbot”.

Te terminará dando tu token 540xxxxxxxxxxxxxxxxx que debes de guardar muy bien pues de perderlo cualquiera podría crear un código y comunicarlo a tu bot, así que no lo pierdas

Usando la librería Telegraf.js

Telegraf.js es la librería que pienso usar, no solo por lo fácil que es usarla, sino también por lo actualizada que está, ya que a semanas de que salió la versión 6.0 de la API de los bots de Telegram, está término actualizándose, por lo que podremos usar todo lo nuevo de Telegram sin problema alguno.

Bueno, después de tanta introducción iniciemos con el código, empezando con descargar la librería, lo normal seria con NPM, pero yo usare yarn, de todas formas en la documentación podrás encontrar todas las formas, asi que usare yarn add telegraf y yarn add dotenv para guardar la variable del token que nos dio botfather y no tendremos que requerirlo en todo momento que iniciemos las pruebas de nuestra aplicación. Usemos un ejemplo sencillo para que funcione nuestro programa.


import dotenv from 'dotenv';
dotenv.config();

import { Telegraf } from 'telegraf';

const bot = new Telegraf(process.env.TOKEN);
bot.start((ctx) => ctx.reply('Bienvenido a Escuadron 201'));
bot.help((ctx) => ctx.reply('Pronto se listaran todos los comandos de ayuda'));

Aqui solo hay comandos sencillos, pero con ellos podemos darnos cuenta que el bot comienza a funcionar. Con bot.start cuando en nuestro bot alquien ponga /start le llegara el mensaje de “Bienvenido a Escuadron 201” y asi el mensaje cuando alguien ponga /help recibirá otro tipo de mensaje.

Nuestro bot nos responde

En próximos posts iremos agregando la complejidad y conociendo mas comandos que nos dé la librería Telegraf, les recomiendo leer la documentación y si tienen cualquier duda preguntarme, espero que les haya gustado el post


  1. La página con todas las librerías disponibles puedes encontrarlas aquí, te recomiendo que la guardes en favoritos, ya que luego es difícil encontrarla entre toda la documentación de Telegram 

¡Los anuncios me ayudan!

Hola. Este blog se mantiene gracias a algunos banners de publicidad. Si tienes bloqueador de anuncios te pido que nos pongas en tu whitelist.

La publicidad de este sitio no es invasiva. O si prefieres podrias dar una pequeña donación en las diferentes criptomonedas de este sitio.

Por tu atención gracias