我正在尝试发送带有自适应卡片附件的活动,并向创建该帖子的用户提及。通过在线阅读,我发现您当前无法在自适应卡中添加提及。发送活动时是否可以提及某人,例如在其他附件中?我试过设置activity.Text =提到,这有效,但是它会创建两个帖子,第一个带有提及,然后另一个带有自适应卡作为单独消息的帖子。我觉得一定有办法做到这一点,否则,如果您创建了一条帖子并且有人回复了您,您将永远不会在回复时自动知道。 请注意,我没有使用Flow。 Code Teams Post
答案 0 :(得分:1)
您是否考虑过(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 =“,并添加 ADD
希望能有所帮助,并感谢您-给了我一次学习有用的东西的机会!
答案 1 :(得分:1)
当前Adaptive Card @mention在开发人员预览中,但您可以使用Adaptive card 1.2版本在自适应卡中实现@Mention。
您可以使用以下JSON @提及自适应卡中的用户
{
"type": "AdaptiveCard",
"body": [
{
"type": "TextBlock",
"size": "Medium",
"weight": "Bolder",
"text": "Hi <at>Mention_Name</at> This is new feature in Adaptive Card version 1.2 Please test..."
}
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.0",
"channelId": {
"entities": [
{
"type": "mention",
"text": "<at>Name</at>",
"mentioned": {
"id": "29:124124124124",
"name": "Mungo"
}
}
]
}
}
您需要指定channelID和提及的ID,您可以从活动对象本身中获取