Как создать бота Movie Telegram с помощью Node.js?

Опубликовано: 1 Декабря, 2021

API бота Telegram можно использовать для создания чат-бота, который возвращает полную информацию о фильмах, веб-сериалах и сериалах, отправляя название фильма или сериала в виде команды. Telegram предоставляет набор методов API для выполнения различных функций. С помощью телеграмм-бота можно узнать полную информацию о фильме, не переходя на другие веб-сайты, такие как сайт IMDb и т. Д.

Предпосылки:

  1. Знание Javascript и настройка среды узла.
  2. Последняя версия Node (версия> 10)
  3. Последняя версия npm (версия> 6)

Команда для проверки наличия в вашей системе Node и npm:

 $ npm --v
6.14.5

$ node --version
Версия 10.15.0

Создание бота и получение токена API:

  • Откройте приложение Telegram и найдите @BotFather.
  • Нажмите кнопку «Пуск» или отправьте «/ start».
  • Затем отправьте сообщение «/ newbot», чтобы указать имя и имя пользователя.
  • Затем BotFather предоставит вам токен API.

Получение ключа API фильма:

  • Перейдите на сайт OMDB (открытая база данных фильмов).
  • Создайте учетную запись в соответствии с лимитом.
  • Вы получите собственный ключ API.

Установка модулей:

Запросы: Чтобы установить этот модуль, введите следующую команду в терминале.

 $ npm install - сохранить запросы

node-telegram-bot-api : модуль Node.js для взаимодействия с официальным API Telegram Bot.

 $ npm установить node-telegram-bot-api

Имя файла: 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
+ 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: Title: '
+ res.Title + ' Genre: '
+ res.Genre + ' Rated: '
+ res.Rated + ' Released: '
+ 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
}
}
})
})

Шаги по запуску программы: Запустите файл bot.js, используя следующую команду:

 $ node bot.js

Теперь перейдите к своему боту, введите / movie movie-name и посмотрите результаты.

Выход: