Как обработать telegram webhook node js?

Использую telebot, код что то такое:

const TeleBot = require('telebot');
const bot = new TeleBot({
    token: 'TOKEN', // Required. Telegram Bot API token.
    webhook: { // Optional. Use webhook instead of polling.
        url: 'https://vm1945277.nvme.had.yt', // Обычная VDS машина, .
        host: 'localhost', // Webhook server host.
        port: 443, // Server port.
        maxConnections: 40 // Optional. Maximum allowed number of simultaneous HTTPS connections to the webhook for update delivery
    }
});
bot.on('text', (msg) => msg.reply.text(msg.text));
bot.start();

Я не знаю что передать в url и в host, помогите пожалуйста простым языком.


Ответы (1 шт):

Автор решения: Inventor

Я не работал с этим фреймворком, но почитав документацию думаю, что вы должны сделать следующее:

  1. Установите nginx/apache или любой другой веб-сервер, установите для него ssl сертификат. В конфигурации укажите, что он должен слушать 443 порт используя ssl сертификат и передавать запросы в локальную сеть, на любой порт, например 5000
  2. В JS коде укажите в качестве url https://<ваш_домен>:443. Host оставьте localhost. Порт будет тот, который вы выбрали в первом пункте (например 5000).

После этого ваше приложение должно получать сообщения от телеграм

Upd: Возможно вам проще будет использовать метод getUpdates. Тогда вам не нужен веб-сервер и ssl сертификат, кроме того он работает быстрее

→ Ссылка