如何在提交机器人框架的任务模块上更新自适应卡



我有一个要求,在从Microsoft团队的任务模块提交表单时,我需要更新为现有的自适应卡。我可以通过发送一张新卡来实现这一点,但我需要通过重复使用作为主消息发送的自适应卡来实现。

流程如下:-

  1. 带有更新按钮的自适应卡使用bot框架发送
  2. 在按下更新时,handleTeamsTaskModuleFetch会在我的机器人应用程序中调用。在这里,我对我的后端进行了一个api调用,为我的模态获取自适应卡。这是一个输入表单
  3. 在提交表单时,handleTeamsTaskModuleSubmit会在我的bot应用程序中调用。在这里,我为我的后端制作了一个api来保存信息。张贴这篇文章,我需要通过添加成功/失败文本来更新我原来的自适应卡消息

我面临的问题是,我需要有关最初发送的现有卡的信息并更新该信息。该文档展示了通过发送全新卡进行更新的方法。我不能使用它,因为我的卡是动态的,不能有固定的结构。

所以我的问题是,有没有任何方法可以让我在handleTeamsTaskModuleSubmit函数中获得主消息中发送的自适应卡,这样我就可以编辑它,并使用updateActivityreplyToId来更新原始消息。

您可以使用以下代码更新现有卡:

var updateCardActivity = new Activity(ActivityTypes.Message)
{
Id = turnContext.Activity.ReplyToId,
Conversation = turnContext.Activity.Conversation,
Attachments = new List<Attachment> { Your Adaptive Card },
};
await turnContext.UpdateActivityAsync(updateCardActivity, cancellationToken);

参考示例代码链接:https://github.com/OfficeDev/microsoft-teams-faqplusplus-app/blob/master/Source/Microsoft.Teams.Apps.FAQPlusPlus/Bots/FaqPlusPlusBot.cs

最新更新