Microsoft Bot Connector - 在发送消息

时间:2018-03-23 20:26:53

标签: c# .net botframework microsoft-teams

我正在使用Microsoft的bot框架(使用.NET API)为MS团队开发机器人。我现在要做的是检索机器人刚刚发送的消息的Activity.Id。当机器人收到消息时,会包含Activity.Id,我希望有一种方法可以在发送消息时检索它。

我目前正在使用: var response = connector.Conversations.SendToConversation((Activity)activity);

connectorMicrosoft.Bot.Connector.ConnectorClient

的实例

这会返回ResourceResponse,其中包含一个ID,但此ID似乎与收到的消息附带的Activity.Id的格式不同。

有谁知道是否有可能获得此信息? 提前谢谢!

2 个答案:

答案 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/

我希望这可以帮到你。