¿Cómo diseñar Movie Telegram Bot usando Node.js?

La API del bot de Telegram se puede usar para crear un chatbot que devuelva los detalles completos de películas, series web y series de televisión enviando el nombre de la película o serie como un comando. Telegram proporciona un montón de métodos de API para realizar diferentes funciones. El bot de Telegram se puede utilizar para conocer los detalles completos de la película sin tener que ir a otros sitios web como el sitio de IMDb, etc.

requisitos previos:

  1. Conocimiento de Javascript y configuración de un entorno de Node.
  2. La última versión de Node (versión > 10)
  3. La última versión de npm (versión > 6)

Comando para verificar si Node y npm están presentes en su sistema:

$ npm --v
6.14.5

$ node --version
v10.15.0

Crear bot y obtener token de API:

  • Abra la aplicación Telegram y busque @BotFather.
  • Haz clic en el botón de inicio o envía “/start”.
  • Luego envíe el mensaje «/newbot» para configurar un nombre y un nombre de usuario.
  • El BotFather luego le dará un token de API.

Obtener la clave API de la película:

  • Vaya al sitio web de OMDB (base de datos abierta de películas).
  • Cree una cuenta según el límite.
  • Recibirá su propia clave API.

Instalación de módulos:

Requests: Para instalar este módulo, escriba el siguiente comando en la terminal.

$ npm install --save requests

node-telegram-bot-api : módulo Node.js para interactuar con la API oficial de Telegram Bot.

$ npm install node-telegram-bot-api

Nombre de archivo: bot.js

// Requiring module
var reques = require('requests')
var TelegramBot = require('node-telegram-bot-api')
token = "YOUR-TELEGRAM_API-TOKEN"
movieapi = "YOUR-OMDB_API-TOKEN"
  
// Create a bot that uses 'polling' 
// to fetch new updates
var bot = new TelegramBot(token, { polling: true });
  
bot.on("polling_error", (err) => console.log(err));
  
bot.onText(/\/movie (.+)/, function (msg, match) {
  
    // The 'msg' is the received Message from
    // user and 'match' is the result of 
    // execution above on the text content
  
    // Getting the name of movie from the 
    // message sent to bot
    var movie = match[1];
    var chatId = msg.chat.id
  
    reques('http://www.omdbapi.com/?t=' 
        + movie + '&apikey=movieapi',
        function (error, response, body) {
            if (!error && response.statusCode == 200) {
                bot.sendMessage(chatId, 
                    '_Looking for_ ' + movie + '...', 
                    { parse_mode: "Markdown" }).then(msg) {
                    res = JSON.parse(body)
  
                    bot.sendPhoto(chatId, res.Poster, {
                        caption: 'Result:\nTitle: ' 
                            + res.Title + '\nGenre: ' 
                            + res.Genre + '\nRated: ' 
                            + res.Rated + '  \nReleased: ' 
                            + res.Released
                    })
  
                    // Sending back response from the 
                    // bot to the user 
                    // Response has many other details, 
                    // which can be used or sent as per 
                    // requirement
                }
            }
        })
})

Pasos para ejecutar el programa: Ejecute el archivo bot.js usando el siguiente comando:

$ node bot.js

Ahora, vaya a su bot y escriba /movie movie-name y vea los resultados.

Producción:

Publicación traducida automáticamente

Artículo escrito por kunal1210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *