Я создал проект диалогового потока, и мой код размещен на AWS Lambda.Все работает нормально, но я ищу возможность поместить app.intent в другой модуль.Мой export.handler в index.js выглядит следующим образом:
exports.handler = function(event, context, callback) {
console.log("Das Event 1: "+JSON.stringify(event))
app.handler(event, {}).then((res) => {
if (res.status != 200) {
callback(null, {"fulfillmentText": `I got status code: ${res.status}`});
} else {
console.log("hat geklappt: " +JSON.stringify(res.body))
callback(null, res.body);
}
}).catch((e) => {
callback(null, {"fulfillmentText": `There was an error\n${e}`});
});
};
Теперь я хотел бы вызвать такую функцию:
const {
dialogflow,
SimpleResponse,
} = require('actions-on-google');
const test= require('./secondModule')
const app = dialogflow();
var LaunchRequestHandler = test.Test('LaunchRequest','say something')
и мой второй модуль выглядит следующим образом:
const {
dialogflow,
SimpleResponse,
} = require('actions-on-google');
const app = dialogflow();
function Test(requestName, speechText){
app.intent(requestName, (conv, params) => {
return conv.ask(speechText)
})
}
module.exports = {
Test: Test
}
Я знаю, что это не может работать, так как он не находит LaunchRequest, как это, но, возможно, это поможет вам понять, что я пытаюсь сделать.Было бы удивительно, если у кого-то есть идея.Заранее спасибо!Важно то, что я могу как-то сопоставить Намерение по этому шаблону:
var LaunchRequestHandler = test.Test('LaunchRequest','say something')