MS BOT框架:附件

时间:2017-11-13 13:48:01

标签: node.js bots

我正在使用网站上的示例尝试使用MS Bot Framework中的附件:

function(session) {
  console.log('here')
  builder.Prompts.text(session, "Please upload the latest report now")
},
function(session, results) {
  console.log(session)
  var msg = session.message;
  if (msg.attachments && msg.attachments.length > 0) {
    // Echo back attachment
    var attachment = msg.attachments[0];
    session.send({
      text: "You sent:",
      attachments: [{
        contentType: attachment.contentType,
        contentUrl: attachment.contentUrl,
        name: attachment.name
      }]
    });
  } else {
    // Echo back users text
    session.send("You said: %s", session.message.text);
  }
}

这在您输入文本时有效,但在您(通过Bot仿真器中的选项)附加图像或电子表格时不起作用。我不清楚为什么这不起作用:(

编辑1:因此,当您添加图像时,控制台会记录

  

/ - Session.beginDialog(siteOwnerRefresh:/)

     

.siteOwnerRefresh:/ - waterfall()第1步(共2步)

     

.siteOwnerRefresh:/ - Session.beginDialog(BotBuilder:prompt-text)

     

.. BotBuilder:prompt-text - Session.send()

     

.. BotBuilder:prompt-text - Session.sendBatch()发送1条消息

     

警告:ChatConnector:接收 - 模拟器在未启用安全性的情况下运行。

     

ChatConnector:已收到消息。

     

UniversalBot(“*”)路由来自“模拟器”的附件1

     

Library(“BotBuilder”)。findRoutes()说明:

     

ActiveDialog(0.1)

     

.. BotBuilder:prompt-text - WARN:提示 - 找不到null

的意图处理程序      

.. BotBuilder:prompt-text - Session.send()

     

.. BotBuilder:prompt-text - Session.sendBatch()发送1条消息

2 个答案:

答案 0 :(得分:0)

事实证明,机器人无法通过级联的第二步工作。我把它移出来了,这是级联中的第一步,它现在可以工作了。

答案 1 :(得分:0)

builder.Prompts.text()之后,它仅收到一条文本消息。 使用 builder.Prompts.attachment 接收附件。 https://docs.microsoft.com/en-us/azure/bot-service/nodejs/bot-builder-nodejs-dialog-prompt