gpt4 book ai didi

c# - 将自适应卡 JSON 添加到机器人脚本 - C#

转载 作者:行者123 更新时间:2023-12-02 06:41:12 24 4
gpt4 key购买 nike

我是 Bot Framework 的新手,刚刚开始使用 C# 的 Echo Bot 示例。然而,最终,我想将我的机器人集成到 Teams channel ,其中一个对话流需要整合来自多个 API 的信息并将其发送给用户。

我想我们可以使用“ColumnSet”以表格格式显示 how-to-display-data-in-table-format-in-microsoft-bot-framework 中的数据

现在我有了自适应卡 JSON 对象(表中的数据),我不确定在哪里以及如何将该自适应卡组件准确地集成到 echo bot 脚本中。很少有示例显示存储自适应卡 JSON 并从路径读取并将其作为附件发送,但我仍然不清楚。

下面是 echo bot 项目文件夹中的 C# bot 代码 (Echobot.cs)。是否应该创建一个不同的函数来实现自适应卡?

using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Bot.Builder;
using Microsoft.Bot.Schema;

namespace Microsoft.BotBuilderSamples.Bots
{
public class EchoBot : ActivityHandler
{
protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivity> turnContext, CancellationToken cancellationToken)
{
var replyText = $"Echo: {turnContext.Activity.Text}";
await turnContext.SendActivityAsync(MessageFactory.Text(replyText, replyText), cancellationToken);
}

protected override async Task OnMembersAddedAsync(IList<ChannelAccount> membersAdded, ITurnContext<IConversationUpdateActivity> turnContext, CancellationToken cancellationToken)
{
var welcomeText = "Hello and welcome!";
foreach (var member in membersAdded)
{
if (member.Id != turnContext.Activity.Recipient.Id)
{
await turnContext.SendActivityAsync(MessageFactory.Text(welcomeText, welcomeText), cancellationToken);
}
}
}
}
}

最佳答案

以下是如何向 MS Teams 发送卡片的示例:

                var newActivity = new Activity
{
Text = string.Empty,
Summary = GetActivityText(data,eventData,step),
Type = ActivityTypes.Message,
Attachments = new List<Attachment>
{
new Attachment
{
ContentType = "application/vnd.microsoft.card.adaptive",
Content = card
},
},
Conversation = new ConversationAccount
{
Id = conversationid,
}
};
await turnContext.SendActivityAsync(activity, cancellationToken);

但是有多种方法可以做到这一点。这在一定程度上取决于事件。例如,MessageExtensions 需要稍微不同的方法。

通常,您会创建一个新事件,将卡片作为附件添加到事件中,然后发送即可。

正如 MickyD 在评论中指出的那样,所有这些都在文档中进行了解释。以下是有关此内容的更多信息:https://blog.botframework.com/2019/07/02/using-adaptive-cards-with-the-microsoft-bot-framework/

只需搜索 AdaptiveCards 和 Botframework,您就会从各种来源找到更多信息。他们都很好。

关于c# - 将自适应卡 JSON 添加到机器人脚本 - C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62272371/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com