Botkit:Dialogflow不会忽略在ignoreType

时间:2019-02-13 06:06:55

标签: javascript node.js dialogflow chatbot botkit

我正在使用Botkit创建一个机器人,并将Dialogflow集成到该机器人中。

从菜单中(使用Botkit快速答复),用户可以选择打开联系人的选项,也可以选择打开常见问题的选项。有效负载为“选定:联系人”和“选定:常见问题”。

在faqs.js文件中:

var dF = require('botkit-middleware-dialogflow')
({keyFilename: <path to the json needed,
  ignoreType: 'Selected: Contacts'});

controller.middleware.receive.use(dF.receive); //controller is defined previously

controller.hears(['faq-contacts'], 'message_received', dF.hears,
    function (bot, message)
    {
        bot.reply(message, message.fulfillment.text);
        controller.trigger('main_menu', [bot, message]);
    }
);

faq-contacts是我在Dialogflow代理中创建的一种意图,经过训练可以在用户询问“什么是联系人”,“联系人帮助”和“如何创建联系人”等短语时触发。 / p>

在一个名为taskHandler.js的文件中:

controller.hears('Selected: Contacts', 'message_received',
    function (bot, message)
    {
        bot.reply(message, 'some reply');
        controller.trigger('main_menu', [bot, message]);
    }
);

应该在检测到准确的模式“已选择:联系人”时触发该事件,因此,当用户按下发送此有效负载的按钮时应该触发该事件。

相反,即使我在Dialogflow选项中设置了ignoreType:'Selected:Contacts',也会触发faq-contacts模块。

如何防止这种情况发生?

0 个答案:

没有答案