уже 2 дня езжу по разным маршрутам и не могу понять. Возможно, кто-то сможет пролить свет на мои проблемы. Я пытаюсь запустить бот-сервер, который подключается к нескольким платформам, и уже работает около 5.
Сейчас я также пытаюсь интегрировать Alexa. Я вижу запросы Alexa, поступающие на мой сервер (так что навыки Alexa и конфигурация конечной точки верны), однако это также заняло у меня довольно много времени, поскольку Amazon, по-видимому, отправляет трафик только на порт 443, поэтому разрешено определение другого номера порта в центре разработки Amazon. , но ничего не делает... красиво! Решается добавлением балансировщика нагрузки с переадресацией портов.
На настоящий вопрос. Я пытаюсь использовать alexa-app в качестве основы из следующего примера:
var express = require("express");
var alexa = require("alexa-app");
var express_app = express();
var app = new alexa.app("sample");
app.intent("number", {
"slots": { "number": "AMAZON.NUMBER" },
"utterances": ["say the number {-|number}"]
},
function(request, response) {
var number = request.slot("number");
response.say("You asked for the number " + number);
}
);
// setup the alexa app and attach it to express before anything else
app.express({ expressApp: express_app });
// now POST calls to /sample in express will be handled by the app.request() function
// GET calls will not be handled
// from here on, you can setup any other express routes or middleware as normal
Часть, которую я не могу понять, заключается в том, как использовать это, когда я настраиваю свой экспресс-сервер в одном файле, а затем хочу использовать функцию промежуточного программного обеспечения для настройки моего слушателя во втором файле... что-то вроде:
приложение.js:
var express = require("express");
var express_app = express();
https.createServer({
key: fs.readFileSync(key),
cert: fs.readFileSync(cert),
ca: fs.readFileSync(ca)
}, app).listen(port, function () {
console.log("http: api server listening on port " + port);
});
app.use('/alexa', controller.Bot.Messenger.Listener.botMiddleWare());
слушатель.js:
var alexa = require("alexa-app");
var app = new alexa.app("sample");
bot.botMiddleWare = function botMiddleWare () {
return <return function to connect to express in app.js>;
}
Спасибо за любую помощь или указатели!