Как поместить обработчик диалогового потока в другой модуль - PullRequest
0 голосов
/ 14 декабря 2018

Я создал проект диалогового потока, и мой код размещен на 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')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...