Как настроить веб-перехватчик viberbot для бота nodejs, развернутого heroku?
У меня проблема с настройкой веб-крючка для моего чат-бота, который я сделал с помощью nodejs. Который развернут на Heroku.
Приложение использует следующую архитектуру:
const http = require('http');
const port = process.env.PORT || 8080;
// Viber will push messages sent to this URL. Web server should be internet-facing.
const webhookUrl = process.env.WEBHOOK_URL;
// I have used this as Heroku app name with https://dyno-125-92.herokuapp.com
http.createServer(ot.middleware()).listen(port, () => bot.setWebhook(webhookUrl));
Пожалуйста, помогите мне настроить веб-перехватчик, используя экспресс или что-нибудь, что может работать с моим ботом?
Я застрял.
1 ответ
Попробуй это:
const express = require('express');
const app = express();
// contains relative URL path, like: "/viber/webhook"
const webhookUrl = process.env.WEBHOOK_URL;
// ...
app.use(webhookUrl, bot.middleware());
app.listen(port, () => {
console.log(`Application running on port: ${port}`);
bot.setWebhook(`${process.env.EXPOSE_URL}${webhookUrl}`).catch(error => {
console.log('Can not set webhook on following server. Is it running?');
console.error(error);
process.exit(1);
});
});
Если не работает, используйте - полный пример кода для проверки.