Microsoft Bot Framework-当对话框存储在单独的文件中时,自适应卡不发送

时间:2018-07-07 20:17:37

标签: node.js chatbot azure-bot-service

批注信息

  • SDK平台:Node.js
  • SDK版本:8.11.2
  • 有效渠道:Bot Framework仿真器和直接线路
  • 部署环境:使用模拟器进行本地开发

问题说明

我创建了一个包含漫游器对话框的单独文件。在index.js中,导入模块并在适当的位置调用对话框。在发送普通文本时,它可以正常工作。

但是,当我发送自适应卡时,当整个代码都放在index.js文件中时,它就起作用了,机器人模拟器崩溃并变黑了。我还在本地尝试了直线,结果是它无限期地显示“正在输入图标”,恰好在应该发送消息的呼叫之前。

复制步骤

您可以按照以下基本示例来测试问题:

module.exports = function(bot) { 
    bot.dialog('pcnLogin', [
      function (session, args) {
         let msg = new builder.Message(session).addAttachment(yourCard);
         session.send(msg);
      }]);
}

然后,将模块导入主文件中:

require('./dialogs')(bot);

最后,从主要的bot流程中调用对话框:

session.beginDialog('pcnLogin');

最终评论

我在控制台中没有收到任何错误。唯一的行为是:

  • 模拟器崩溃并变黑
  • 在HTML文件中进行测试时,
  • 无限省略号

我想强调的是,如果将相同的代码包含在index.js中,则它们可以完美地工作。

1 个答案:

答案 0 :(得分:0)

问题已解决!由于错误导入,我在附件中传递的自适应卡对象的值不确定! :)