温馨提示:本文翻译自stackoverflow.com,查看原文请点击:c# - How to add a mention in Teams alongside an adaptive card using Bot Framework
botframework c# microsoft-teams adaptive-cards

c# - 如何使用Bot Framework在团队中与自适应卡片一起添加提及

发布于 2020-04-03 23:32:27

我正在尝试发送带有自适应卡片附件的活动,并向创建该帖子的用户提及。通过在线阅读,我发现您当前无法在自适应卡中添加提及。发送活动时是否有办法提及某人,例如在另一个附件中?我试过设置activity.Text =提到,这有效,但是它创建了两个帖子,第一个带有提及,然后另一个带有自适应卡作为单独消息的帖子。我觉得一定有办法做到这一点,否则,如果您创建了一条帖子并且有人回复了您,您将永远不会在回复时自动知道。另请注意,我没有使用Flow。 代码 团队发布

查看更多

提问者
AlexCurtis
被浏览
90
Hilton Giesenow 2020-02-02 18:44

您是否考虑过(a)发送自适应卡和(b)向您发送的原始自适应卡发送“答复”消息?我以前没有做过,但是我猜测从turnContext.SendActivityAsync(在ResourceResponse实例上)返回的ID是您可以用来“回复”刚刚创建的消息的ID。

更新:我知道了。这是非常粗糙的代码,但是希望您可以弄清楚/适应您的情况:

 var result = connector.Conversations.SendToConversationAsync([your conversation id], activity).Result;

// I'm re-using the same activity just as a test, you can do whatever (e.g. create a new one)
activity.Text = "Msg 2";
var conversationReference = activity.GetReplyConversationReference(result);
conversationReference.Conversation.Id = conversationReference.Conversation.Id + ";messageid=" + result.Id;
activity.ApplyConversationReference(conversationReference);

connector.Conversations.SendToConversationAsync(conversationReference.Conversation.Id, activity);

因此请注意,确实很重要,您需要更改会话ID,以在末尾添加“; messageid =“,并添加对您刚刚发布的消息的引用。

这是屏幕截图: 讯息回覆

希望能有所帮助,并感谢您-给了我一次学习有用的东西的机会!