C# Microsoft Bot连接器-发送消息后从响应获取活动id
我正在使用微软的bot框架(使用.NETAPI)为微软团队开发一个bot。我现在要做的是检索bot刚刚发送的消息。当bot接收到消息时,会包含一个C# Microsoft Bot连接器-发送消息后从响应获取活动id,c#,.net,botframework,microsoft-teams,C#,.net,Botframework,Microsoft Teams,我正在使用微软的bot框架(使用.NETAPI)为微软团队开发一个bot。我现在要做的是检索bot刚刚发送的消息。当bot接收到消息时,会包含一个Activity.Id,我希望在发送消息时能够找到一种方法来检索它 我目前正在使用以下方式发送: var response=connector.Conversations.SendToConversation((活动)活动) connector是Microsoft.Bot.connector.ConnectorClient的实例 这将返回一个,其中包含
Activity.Id
,我希望在发送消息时能够找到一种方法来检索它
我目前正在使用以下方式发送:
var response=connector.Conversations.SendToConversation((活动)活动)代码>
connector
是Microsoft.Bot.connector.ConnectorClient的实例
这将返回一个,其中包含一个Id,但此Id的格式似乎与接收到的消息附带的Activity.Id的格式不同
有人知道是否有可能获得这些信息吗?
提前谢谢 看看CreateConversationAsync。下面是一段代码片段,摘自我们的:
保存用户活动并保存发送给用户的最后一个活动id,然后在用户再次发送消息时检索该id。要了解有关保存用户活动的更多信息,请访问本文:
我希望这能对您有所帮助。谢谢,我最后只使用了ResourceResponse.Id值,因为它很好地满足了我的目的。@David-ResourceResponse Id?那不是活动id?那么,当您以后想要回复此消息时,您会怎么做?当我对此id使用ReplyToActivityAsync时,该消息不是对的回复,而是通道中的一条新消息。谢谢,我最后只使用了ResourceResponse.id值,因为它很好地满足了我的目的。@David-您能详细说明一下吗?你做了什么?ResourceResponse.Id
的作用是什么?@KyleDelaney因为这是一次1on1对话,回复个人消息不是一件事,最后它除了在数据库中提供一个唯一标识符供我的代码参考(即检查是否发送了提醒)之外,实际上没有什么作用. 这就是你要找的信息吗?
try
{
var conversationResource = await connectorClient.Conversations.CreateConversationAsync(parameters);
IMessageActivity message = null;
if (conversationResource != null)
{
message = Activity.CreateMessageActivity();
message.From = new ChannelAccount(botId, botName);
message.Conversation = new ConversationAccount(id: conversationResource.Id.ToString());
message.Text = Strings.Send1on1Prompt;
}
await connectorClient.Conversations.SendToConversationAsync((Activity)message);
}
catch (Exception ex)
{
}