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 lenguajes[1]. 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
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
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'));
Con dotenv como les mencione ya no necesitamos andar cargando nuestro TOKEN, ya solo en un archivo ".env" guarde la info del TOKEN, y ya lo podemos llamar en la parte que dice const bot = new Telegraf(process.env.TOKEN);
.
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.
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