Desarrollando un Bot para Telegram

Objetivos del proyecto:


  • Etapa 1: Desarrollar y probar nuestro bot en local.
  • Etapa 2: Publicarlo por medio de Heroku.


  • Pero Antes de Arrancar... ✋

    ¿Qué son los Bots de Telegram?



    ¿Escuchaste algo de esto? Si es tu prima vez, te lo resumo así nomás:

    Son aplicaciones de terceros que se ejecutan dentro de la aplicación de mensajería.
    No necesitas instalarlos ni hacer nada diferente para poder utilizarlos, ya que se utilizan como si estuvieras interactuando con una persona real (Es decír, buscando el nombre del bot en el buscador de la app como harías con cualquier usuario: @nombreDelBot).
    Hay más: Son multiplataforma, y ​​los podes usar en la versión de Telegram del sistema operativo que quieras.

    Nivel 개발자인 Ahora: Funcionan con una API de Telegram


    🎌 ¿소개 목록?
    ¡Manos a la obra con nuestro primer proyecto de fin de semana! 👇👇

    요건


  • NodeJs
  • npm 설치
  • Algún editor de código, yo voy a utilizar el siempre confiable Visual Studio Code
  • Obvio pero también, tener una cuenta en Telegram.

  • Telegraf . Esta librería será la que utilizaremos para crear el bot, específicamente con Js.

  • 파소 아 파소


    1. Damos de alta nuestro 봇



    Abrimos Telegram y vamos a utilizar el Bot "Padre": botFather. Esta cuenta es la administradora de todos los bots, por lo que podras administrar los tuyos interactuando con ella.
    특히, el nombre del bot debe terminar con "bot". (¿Ya pensaste un nombre marketinero? 😎)

    Una vez en el chat con botFather, basta con hacer/newbot y setear el nombre. Eso es todo.
    Nos devolverá un token que necesitaremos luego en nuestro código. De todas formas, podemos volver y chequearlo.

    🎁 En mi caso, voy a hacer un bot que me recuerde los días que cumple años cada miembro de mi familia. Luego intentaré desarrollar uno que les haga regalos y no tenga que gastar.

    2. 프리메라스 리니어스



    En nuestra carpeta preferida de proyectos, creamos una nueva con el nombre del bot/proyecto.
    예: CumplesDeLaFliaBot

    Nos ubicamos dentro de la carpeta y abrimos linea de comandos:

    npm init 
    
    npm install telegraf
    

    Archivo .js에 대한 Creamos; 예: bot.js.
    Aquí tendremos la logica del bot.

    const Telegraf = require('telegraf');
    
    const bot = new Telegraf('tokenProvistoPorBotFather');
    


    Empezamos con utilizar métodos de Telegraf, en este caso .command para mostrar un saludo personalizado cuando se inicia el bot (vamos a estar capturando el "start"propio de cuando se inicia la conversación)

     bot.command('start', ctx => {
            console.log(ctx.from)
            bot.telegram.sendMessage(ctx.chat.id, '¿Otra vez olvidaste los cumpleaños?', {
            })
        })
    


    3. Seteamos nuestro 봇 en Telegram



    Esta sección es necesaria sólo si queres utilizar los comandos -una especie de accesos rápidos- que te proofe botFather.
    Para esto vamos a Telegram nuevamente:

    /mybots: Recuperar la lista de bots propios y seleccionar el necesario.
    /setcommands: Setear comandos que queremos utilizar.

    En mi caso sería(Recordar que tenemos que responder en formato 명령 - 설명). Donde command es el comando que vamos a capturar y description es lo que ve el usuario.

    genaro - Genaro

    vito - Vito



    ✅ Listo, volvemos a Visual Studio Code.

    4. Capturando comandos del usuario.



    En esta parte vamos a capturar -> devolver. Recordá que podes llamar a una función y hacer lo-que-quieras en ella, y devolver el resultado. Por ejemplo, en otro bot que desarrollé, mandando un parámetro de tipo int a una función, recorría un array de objetos y devolvía uno específico. 어쨌든..

     //esperamos el command /genaro y devolvemos la fecha en formato string (dd/mm)
        bot.command('/genaro', ctx  => {
            bot.telegram.sendMessage(ctx.chat.id, '17/09');
        })
    
        //esperamos el command /vito y devolvemos la fecha en formato string (dd/mm)
        bot.command('/vito', ctx  => {
            bot.telegram.sendMessage(ctx.chat.id, '11/04');
        })
    
        //lanzamos nuestro bot
        bot.launch();
    


    5. Probando nuestro 봇 en local



    Una vez finalizado nuestro código (o durante el desarrollo, porqué no), abrimos terminal y escribimos:

    node bot.js
    

    Teniendo Telegram abierto, y si seteamos todo de manera correcta: ¡Ya estamos listos para empezar a testear nuestro bot! 🏄

    Proximos episodios de esta maravillosa 시리즈:
  • Utilizar nodemon para ver cambios en tiempo real, mientras desarrollamos.
  • Subir nuestro bot a Heroku y dejarlo operativo en Telegram.



  • ¿Te sirvió el post?
    비교 비교

    좋은 웹페이지 즐겨찾기