1

我使用 Microsoft Azure 机器人服务和 LUIS 创建了一个聊天机器人。使用经过 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); 

我的情况:

我想在下面的 URL 图片中附上“嗨!欢迎'消息与我的意图'问候'相匹配。

ContentURL:“ https://img.clipartfest.com/13e01fd74f423c39c4af7dcc8a7b8455_animated-welcome-sign-animated-welcome-clip-art-images_1300-899.jpeg ”,

ContentType = "图像/jpeg"

我不知道如何以及在我的代码中添加上述内容 URL 以向邮件发送附件。

有人可以帮我吗?

4

3 回答 3

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); 

添加图像的另一种方法是使用英雄卡缩略图卡您可以在Bot Framework Samples github中查看这些示例用法。

于 2017-03-22T19:07:26.883 回答
1

感谢 RAS 和 mgbennet。

它适用于以下代码:

.matches('Greetings', (session, args) => {
            var reply = new builder.Message(); 
            reply.setText(session, "![Greetings](http://aka.ms/Fo983c)");
            session.send(reply);
  })
于 2017-03-26T08:20:12.720 回答
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);});
于 2017-03-22T08:14:13.410 回答