Как обработать 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
→ Ссылка
Я не работал с этим фреймворком, но почитав документацию думаю, что вы должны сделать следующее:
- Установите nginx/apache или любой другой веб-сервер, установите для него ssl сертификат. В конфигурации укажите, что он должен слушать 443 порт используя ssl сертификат и передавать запросы в локальную сеть, на любой порт, например
5000 - В JS коде укажите в качестве url
https://<ваш_домен>:443. Host оставьтеlocalhost. Порт будет тот, который вы выбрали в первом пункте (например5000).
После этого ваше приложение должно получать сообщения от телеграм
Upd: Возможно вам проще будет использовать метод getUpdates. Тогда вам не нужен веб-сервер и ssl сертификат, кроме того он работает быстрее