我正在使用网站上的示例尝试使用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条消息
答案 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