【问题标题】:How to know if the user has blocked the bot in Teams如何知道用户是否在 Teams 中阻止了机器人
【发布时间】:2020-07-30 13:39:46
【问题描述】:

我使用 Bot 框架 V4 创建了一个机器人并托管在 Teams 中。

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

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

如果 Bot 已被阻止,是否有任何 API 或来自 bot 的任何事件来知道用户 ID?

提前致谢

【问题讨论】:

  • 您是否考虑过使用图形 api 执行此操作?这是我对你将如何做的假设。
  • 你好@DanaV,我查看了图形 API,在那里我找到了返回已安装版本的 API,但找不到返回已阻止用户的用户列表的 API。
  • 我想我可能知道一种方法可以做到这一点,但这取决于您是否有对话上下文?
  • 你的意思是帮助阻止部分还是对话上下文?
  • 嗨 - 对此有什么答案吗?

标签: botframework microsoft-teams microsoft-graph-teams


【解决方案1】:

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

ConnectorClient connector = new ConnectorClient(new Uri(serviceUrl), appId, appSecret);

MicrosoftAppCredentials.TrustServiceUrl(serviceUrl);

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

这可能只有在他们 - 卸载 - 应用程序,而不是 - 阻止 - 机器人的情况下才有效,但它很容易测试(虽然我今天没有机会)。

【讨论】:

  • 你能测试一下吗?
  • 您好@Hiiton,我尝试使用我的 ID 阻止机器人并尝试了关于代码,当我通过对话 ID 时仍然能够获取成员详细信息。
  • 啊好的。我认为这可能只适用于“卸载”。
猜你喜欢
  • 2019-12-07
  • 1970-01-01
  • 1970-01-01
  • 2013-02-07
  • 2016-10-28
  • 2015-05-30
  • 2016-04-05
  • 1970-01-01
  • 2021-07-09
相关资源
最近更新 更多