【问题标题】:Bot Framework - add member to Teams group chatBot Framework - 将成员添加到 Teams 群聊
【发布时间】:2020-03-07 08:22:16
【问题描述】:

我在 Microsoft Teams 上与 4 名成员进行了群聊:3 个人和一个机器人。机器人是否可以将新成员添加到现有的群聊中? 我找到了BotFrameworkAdapter 类的方法deleteConversationMember,它应该删除一个现有成员。好吧,我需要相反的,添加一个新成员。 我也检查了Microsoft Teams Graph API,但似乎只能获取成员而不添加新成员。

【问题讨论】:

  • 用例是什么?如果我们在没有护栏的情况下这样做,那将是一个重要的垃圾邮件载体(机器人可以将自己添加到任何对话中)。 Graph 可以防止这种情况发生,具体取决于 API 所需的权限,但仍然可能是一个问题。
  • 我理解您的担忧。我实施了一个 Bot 来支持票证,Bot 可能需要将票证转移给其他人。在某些情况下,此操作不能是手动的,因为支持人员当时可能不在。
  • @user2297037 - 我的回答可以接受吗? (由于这个帖子有多个人,如果你想让我看到你的回复,你需要@提及我。)

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


【解决方案1】:

正如我从您的评论中看到的,您正试图让机器人升级或“移交”给服务台代理。如果这是正确的,您可以完全查看另一个模型,其中用户继续与机器人聊天,但消息正在由机器人发送到幕后的代理。这被称为“交接”,您可以查看博文here 和源代码(来自博客作者)here on github

【讨论】:

  • 这是我们一开始使用的方法,然后我们不得不改变解决方案,因为它具有非常强的限制,即操作员一次只能处理一个对话,因为他总是与从 Teams 的角度来看 Bot。
  • 所以 -user- 当然需要与机器人保持 1-1 的关系。然而,这个“交接”基本上是在说,在幕后,让机器人做“x”。在这种情况下,“x”是让机器人在幕后创建和管理另一个对话给操作员。但是,您的“x”可能完全是另外一回事。例如,如果您让操作员与团队中的一个选项卡互动,并排进行多个网络聊天(这只是一个建议)。
  • 我不喜欢在 Teams 中嵌入网络聊天的想法,它的主要功能是聊天。出于这个原因,我们选择了 Teams。
  • @user2297037 - 在您接受答案之前您还需要什么?
【解决方案2】:

BotFrameworkAdapter 方法使用Bot Framework REST API,它本身调用特定于通道的 API。正如你在 Teams Graph API 中看到的那样,当前不支持将成员添加到群聊中,即使 Graph API 处于预览状态且不适合生产应用程序也是如此。 This document 解释了如果您想请求此功能,如何提供反馈。

作为一种解决方法,我建议让机器人向现有的群组成员提供一些关于自己将新成员添加到群组的说明。

如果您想像希尔顿建议的那样采用机器人到人的切换解决方案,您可能会对这个新示例感兴趣:https://github.com/arturl/lpproxybot

【讨论】:

  • 我将向 Microsoft 提供我的反馈。您的解决方法对我不利,因为当时无法使用操作员。
  • @user2297037 - 由于您目前无法执行此操作,因此我的回答是正确的,并且您确实使用了我链接到的文档。您会考虑投票并接受这个答案吗?我应该提到希尔顿是正确的,操作员可以在机器人到人的切换情况下同时处理许多对话,因此这也可能是您的解决方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
  • 2016-04-24
  • 1970-01-01
  • 2020-10-27
  • 1970-01-01
相关资源
最近更新 更多