我正在使用Microsoft的bot框架(使用.NET API)为MS团队开发机器人。我现在要做的是检索机器人刚刚发送的消息的Activity.Id
。当机器人收到消息时,会包含Activity.Id
,我希望有一种方法可以在发送消息时检索它。
我目前正在使用:
var response = connector.Conversations.SendToConversation((Activity)activity);
connector
是Microsoft.Bot.Connector.ConnectorClient
这会返回ResourceResponse
,其中包含一个ID,但此ID似乎与收到的消息附带的Activity.Id的格式不同。
有谁知道是否有可能获得此信息? 提前谢谢!
答案 0 :(得分:2)
看看CreateConversationAsync。这是我们的C# complete sample:
中的代码段 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)
{
}
答案 1 :(得分:0)
如何保存用户活动并保存发送给用户的上一个活动ID,并在再次发送邮件时检索它。了解有关保存用户活动的详情请参阅此文章访问:https://blog.botframework.com/2017/05/05/saving-bot-actions-on-azure-sql-server/
我希望这可以帮到你。