我有一个要求,在从Microsoft团队的任务模块提交表单时,我需要更新为现有的自适应卡。我可以通过发送一张新卡来实现这一点,但我需要通过重复使用作为主消息发送的自适应卡来实现。
流程如下:-
- 带有更新按钮的自适应卡使用bot框架发送
- 在按下更新时,
handleTeamsTaskModuleFetch
会在我的机器人应用程序中调用。在这里,我对我的后端进行了一个api调用,为我的模态获取自适应卡。这是一个输入表单 - 在提交表单时,
handleTeamsTaskModuleSubmit
会在我的bot应用程序中调用。在这里,我为我的后端制作了一个api来保存信息。张贴这篇文章,我需要通过添加成功/失败文本来更新我原来的自适应卡消息
我面临的问题是,我需要有关最初发送的现有卡的信息并更新该信息。该文档展示了通过发送全新卡进行更新的方法。我不能使用它,因为我的卡是动态的,不能有固定的结构。
所以我的问题是,有没有任何方法可以让我在handleTeamsTaskModuleSubmit
函数中获得主消息中发送的自适应卡,这样我就可以编辑它,并使用updateActivity
和replyToId
来更新原始消息。
您可以使用以下代码更新现有卡:
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