Botframework 如何知道用户是否在团队中阻止了bot

Botframework 如何知道用户是否在团队中阻止了bot,botframework,microsoft-teams,microsoft-graph-teams,Botframework,Microsoft Teams,Microsoft Graph Teams,我已经使用bot framework V4创建了一个bot,并在团队中托管 “我的机器人”可供组织中的所有用户使用 我想知道是否有人阻止了机器人 如果bot已被阻止,是否存在任何API或bot事件来了解用户ID 提前感谢我仍在测试,因此不确定它是否真的有效,但我认为如果用户卸载了一个应用程序,那么尝试获取“对话成员”将失败,否则将成功。代码是这样的(C#): 这可能只适用于卸载应用程序,而不是阻止bot,但测试起来很容易(虽然我今天没有机会)。用户消息与HTTPS方法调用的关系如何? 当用户通过

我已经使用bot framework V4创建了一个bot,并在团队中托管

“我的机器人”可供组织中的所有用户使用

我想知道是否有人阻止了机器人

如果bot已被阻止,是否存在任何API或bot事件来了解用户ID


提前感谢

我仍在测试,因此不确定它是否真的有效,但我认为如果用户卸载了一个应用程序,那么尝试获取“对话成员”将失败,否则将成功。代码是这样的(C#):


这可能只适用于卸载应用程序,而不是阻止bot,但测试起来很容易(虽然我今天没有机会)。

用户消息与HTTPS方法调用的关系如何?

当用户通过通道发送消息时,Bot框架web服务将向Bot的web服务端点发出HTTPS POST。bot可以通过向bot框架发出单独的HTTPS POST,为其发送的每条消息向该通道上的用户发送零条、一条或多条消息

如何拦截用户和我的机器人之间的所有消息?


使用.NET的Bot Framework SDK,您可以向Autofac依赖项注入容器提供IPostToBot和IBotToUser接口的实现。对任何语言使用Bot框架SDK,您都可以使用中间件实现几乎相同的目的。BotBuilder Azure存储库包含C#和Node.js库,它们将把这些数据记录到Azure表中。

您是否考虑过使用graph api来实现这一点?这是我的假设。Hello@DanaV,我查看了graph API,在那里我找到了将返回已安装版本的API,但无法找到返回阻止用户的用户列表的API。我想我可能知道一种方法,但这将取决于你是否有一个对话上下文?你的意思是帮助阻止部分,还是对话上下文?嗨-有什么答案吗?你能测试一下吗?Hello@Hiiton,我尝试用我的ID阻止机器人,并尝试了关于代码,当我传递对话ID时,我仍然能够获得成员的详细信息。啊,好的。我认为这可能只适用于“卸载”。
ConnectorClient connector = new ConnectorClient(new Uri(serviceUrl), appId, appSecret);

MicrosoftAppCredentials.TrustServiceUrl(serviceUrl);

var members = connector.Conversations.GetConversationMembersAsync(userConversationId).Result;