您是否考虑过(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 =“,并添加对您刚刚发布的消息的引用。
希望能有所帮助,并感谢您-给了我一次学习有用的东西的机会!
我刚刚意识到,过去几周我给您发送了几个答案,但似乎没有一个“被接受”的。是我说的话吗?
抱歉,我刚刚发布!我当时按的是向上按钮,但还没有声誉,没看到Tick代表接受的答案,很抱歉!今天将返回并标记它们(再次抱歉)。他们都帮助我进一步进步。好主意,现在就尝试您的建议。
不用担心,只是在开玩笑,很乐意提供帮助。让我知道这是怎么回事,很想知道它是否有效。
顺便说一句-“ upvote”对将来的观看者很有用,以帮助表明答案是有帮助的,但是“ accept”表明答案是正确的,因此人们会知道您已经接受了它,并且可以为他们提供相同的/一个类似的问题
我只是在再次阅读您的原始问题并想知道-自适应卡本身应该是对原始消息的回复...