Warm tip: This article is reproduced from stackoverflow.com, please click
botframework c# microsoft-teams adaptive-cards

How to add a mention in Teams alongside an adaptive card using Bot Framework

发布于 2020-04-03 23:21:31

I'm trying to send an activity with an adaptive card attachment and include a mention to the user who created the post. From reading online I found you can't currently include mentions in adaptive cards. Is there a way to mention someone when sending the activity, for example in another attachment?. I have tried setting the activity.Text = mention, this works however it creates two posts, the first with the mention and then another post with the adaptive card as a separate message. I feel there must be a way to do this, else if you created a post and someone responded to you, you'd never know automatically on reply. Also note I'm not using Flow. Code Teams Post

Questioner
AlexCurtis
Viewed
89
Hilton Giesenow 2020-02-02 18:44

Have you thought about (a) sending the adaptive card and (b) sending a "Reply" message to the original Adaptive Card you sent? I haven't done this before, but I'm guessing the id that comes back from turnContext.SendActivityAsync (on the ResourceResponse instance) is the id you can use to "reply" to the message you just created.

Update: I got it working. This is -very- rough code but hopefully enough that you can figure out/adjust to your scenario:

 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);

So note, really important, you need to change your conversation id to add ";messageid=" to the end, and ADD the reference the message you just posted.

Here's a screenshot: Msg Reply

Hope that helps, and thanks for this - gave me a chance to learn something useful!