我使用Microsoft Azure bot服务和LUIS创建了一个Chat bot。我的机器人在LUIS上训练过,我能够收到短信。我已将机器人连接到Skype频道。
我不知道如何将图片附件作为邮件的答案返回。
我听说一些Microsoft bot框架可以将图像作为附件发送,我不确定Azure bot服务。
示例代码:
var recognizer = new builder.LuisRecognizer(LuisModelUrl);
var intents = new builder.IntentDialog({ recognizers: [recognizer] })
.matches('**Greetings**', (session, args) => {session.send('**Hi! Welcome**');});
bot.dialog('/', intents);
我的案例:
我想用'嗨附上以下网址图片!欢迎'与我的意图匹配的消息' 问候'。
的contentURL:" https://img.clipartfest.com/13e01fd74f423c39c4af7dcc8a7b8455_animated-welcome-sign-animated-welcome-clip-art-images_1300-899.jpeg",
ContentType =" image / jpeg"
我不知道如何&以及在我的代码中添加上述内容网址的位置,以便向邮件发送附件。
有人可以帮我吗?
答案 0 :(得分:1)
RAS是对的,尽管他的代码中有错误。您需要在matches
方法中传递的函数内定义回复消息,否则您将获得ReferenceError,因为未定义会话。另外,请使用text()
代替setText()
,这是折旧的。
var recognizer = new builder.LuisRecognizer(LuisModelUrl);
var intents = new builder.IntentDialog({ recognizers: [recognizer] })
.matches('**Greetings**', (session, args) => {
var reply = new builder.Message(session)
.text("Hello!")
.addAttachment({contentType: "image/jpeg", contentUrl: "https://img.clipartfest.com/13e01fd74f423c39c4af7dcc8a7b8455_animated-welcome-sign-animated-welcome-clip-art-images_1300-899.jpeg"});
});
bot.dialog('/', intents);
添加图片的另一种方法是使用Hero Cards或Thumbnail Cards。您可以在Bot Framework Samples github中查看这些示例用法。
答案 1 :(得分:1)
感谢RAS和mgbennet。
它适用于以下代码:
.matches('Greetings', (session, args) => {
var reply = new builder.Message();
reply.setText(session, "![Greetings](http://aka.ms/Fo983c)");
session.send(reply);
})
答案 2 :(得分:0)
使用这样的东西怎么样?
var reply =
new builder.Message()
.setText(session, text)
.addAttachment({ fallbackText: "Hello!", contentType: 'image/jpeg', contentUrl: picture });
session.send(reply);
使用你的例子,它将是这样的:
var recognizer = new builder.LuisRecognizer(LuisModelUrl);
var reply =
new builder.Message()
.setText(session, "Hello!")
.addAttachment({ fallbackText: text, contentType: 'image/jpeg', contentUrl: "https://img.clipartfest.com/13e01fd74f423c39c4af7dcc8a7b8455_animated-welcome-sign-animated-welcome-clip-art-images_1300-899.jpeg"});
var intents = new builder.IntentDialog({ recognizers: [recognizer] })
.matches('Greetings', (session, args) => {session.send(reply);});