Можно ли смешивать промежуточное программное обеспечение отправки / получения с выполнением Dialogflow и промежуточным программным обеспечением прослушивания Botkit? - PullRequest
0 голосов
/ 16 января 2019

Я тестирую интеграцию библиотеки Dialogflow-выполнения в моем консольном приложении chatbot. ("botkit-middleware-dialogflow": "^ 2.0.4",), версия Botkit v.0.6.21. Я зарегистрировал промежуточное программное обеспечение отправки и получения следующим образом:

controller.middleware.receive.use(dialogflowMiddleware.receive);
controller.middleware.send.use(dialogflowMiddleware.use);

Я также настроил промежуточное ПО DF следующим образом:

const dialogflowMiddleware = require('botkit-middleware-dialogflow')({
    keyFilename: './myagentFile.json',
    ignoreType: ['yes','no','hello'] 
  });

Итак, если я ввожу «привет», convo управляется обратным вызовом, и это нормально, но ответ «да» в диалоге запускает агента «намерения по умолчанию» ... это не то, что я ожидал , Можно ли смешать два способа прослушивания ввода пользователя? Это код:

controller.hears( 'hello', 'message_received', function (bot, message) {
//start convo here
    bot.createConversation(message, (err, convo) => {

      //THREADS
      convo.addMessage({ text: myConvo.respLogin }, 'login_thread');
      convo.addMessage({ text: myConvo.botOnBoarding.respOnBoarding }, 'default');
      convo.addMessage({ text: myConvo.respMenu }, 'menu_thread');



      // Create a yes/no question in the default thread...

      convo.addQuestion(myConvo.botQuestions.questLogin, [

          {
              pattern: 'yes', //-->  IT GOES OUT TO DIALOGFLOW... WHY??
              callback: function (response, convo) {
                  convo.gotoThread('login_thread');
                  convo.next();
              },
          },
          {
              pattern: 'no',
              callback: function (response, convo) {
                  convo.gotoThread('stop_thread');
                  convo.next();
              },
          },

          {
              default: true,
              callback: function (response, convo) {
                 // convo.gotoThread('default_thread');
                  convo.repeat();
                  convo.next();
              },
          }
      ], { 'key': 'choice' }, 'default');
     convo.activate();
.
.
.

Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...