Я только что сделал бота в node.js для приложения Cisco Webex Teams. Мой бот использует «экспресс» и «боткит». «Экспресс» требует прослушивания порта «3000», а «Боткит» прослушивания порта «8080».
Я пробовал heroku.com, но он не принимает два предопределенных порта и не сохраняет файлы динамически (fs.write)
var PUBLIC_URL = "http://a796e3b7.ngrok.io";
var port ='3000';
var ACCESS_TOKEN ='xxx';
var SECRET = "xxx";
var express = require('express');
var app = express();
var Botkit = require('botkit');
var controller = Botkit.webexbot({
log: true,
public_address: PUBLIC_URL,
access_token: ACCESS_TOKEN,
secret: SECRET,
webhook_name: process.env.WEBHOOK_NAME || 'Email2Webex',
});
controller.setupWebserver(8080, function(err, webserver) {
controller.createWebhookEndpoints(webserver, bot, function() {
console.log("Webhooks set up!");
});
});
app.post('/mailgun', upload.any(),function(req, res, next){
res.end('ok');
});
app.listen(port);
В настоящее время я использую ngrok для локального размещения бота на своем компьютере, и я хочу иметь возможность разместить его на сервере, чтобы мне не пришлось об этом беспокоиться. Как я могу сделать ?