如何配置 QnA Bot 的邮件通道?

How to configure the mail channel of a QnA Bot?

我在使用 QnA 服务回答一些问题的机器人中工作。我设置了邮件或 Microsoft Teams 等渠道,以便机器人可以在那里回复答案。我想配置邮件通道,以便在主题是特定主题时做出响应。

我没有看到任何配置它的选项 link 机器人到邮件频道:

有什么办法可以配置吗?

使用 bot 配置电子邮件通道和使您的逻辑正常工作是两件事。

  • 首先,您需要通过输入您的 Office 365 电子邮件凭据并单击 'Save' 将您的机器人 link 连接到电子邮件频道。您在上面附加的屏幕截图只需要您输入您的凭据,即可将您的 QnA Bot 连接到您的电子邮件帐户。
  • 现在,如果主题行是特定的,您希望机器人做出响应的部分。这基本上意味着您将检查 频道数据 以查看主题行是否已保存,然后检查主题行是否包含某个单词或句子,如果包含,则回复.

This 文档将使您能够将本机元数据传递到 activity 对象的通道数据 属性.

中的通道

例如,自定义电子邮件的 channelData 属性 的 JSON 对象如下所示:

"channelData": {
    "type": "message",
    "locale": "en-Us",
    "channelID": "email",
    "from": { "id": "mybot@mydomain.com", "name": "My bot"},
    "recipient": { "id": "joe@otherdomain.com", "name": "Joe Doe"},
    "conversation": { "id": "123123123123", "topic": "awesome chat" },
    "channelData":
    {
        "htmlBody": "<html><body style = /"font-family: Calibri; font-size: 11pt;/" >This is more than awesome.</body></html>",
        "subject": "Super awesome message subject",
        "importance": "high",
        "ccRecipients": "abcdef@xxx.com"
    }
}

可以实现在 ChannelData 中设置电子邮件通道特定属性的示例,例如:

 if (message.ChannelId == ChannelIds.Email)
{
    var reply = message.CreateReply();
    reply.ChannelData = JObject.FromObject(new
    {
        htmlBody = "<html><body style=\"font-family: Calibri; font-size: 11pt;\">This is the email body!</body></html>",
        subject = "This is the email subject",
        importance = "high"
    });
    //send reply to user
    await context.PostAsync(reply);
}

希望对您有所帮助。