【问题标题】:What event has been triggered when a Microsoft Bot is installed to a Microsoft Teams?将 Microsoft Bot 安装到 Microsoft Teams 时触发了哪些事件?
【发布时间】:2020-12-21 20:02:41
【问题描述】:

我是 Microsoft Bot 和 Microsoft 团队的新手。我正在开发 Bot Framework 4.9,我需要在第一次以编程方式将 Bot 安装到团队频道时向 Microsoft 团队频道显示一些文本消息。

我在 Microsoft 文档中没有找到明确的信息,当 Microsoft Bot 安装到 Microsoft Teams 时会触发什么事件?

提前致谢!

【问题讨论】:

  • 感谢您与我们联系,我们将进行调查,如果需要更多信息,我们将与我们联系。最好的问候,团队平台
  • @Trinetra-MSFT 如果您有任何具体的更新,请告诉我。
  • 请查看Bot Events 在 Teams 中添加成员或添加 Bot 时发送的邮件

标签: botframework microsoft-teams asp.net-core-3.1


【解决方案1】:

当将机器人添加到团队或将新用户添加到已添加机器人的团队时,将发送有效负载中带有 membersAdded 对象的 conversationUpdate 事件。 Microsoft Teams 还在 channelData 对象中添加 eventType.teamMemberAdded [1]

如果需要,您可以使用此事件访问用户数据(姓名、电子邮件)。

但是,当您的机器人被初始化/调用给用户(个人上下文)conversationupdate 再次被调用时,您可能会将用户状态作为这样的参数传递:BOT = WelcomeUserBot(USER_STATE) 此用户状态本身正在存储所有内存/对话机器人数据MEMORY = MemoryStorage(); USER_STATE = UserState(MEMORY)

Tldr; membersAdded 对象中的 conversationupdate 事件就是答案

【讨论】:

  • 我正在寻找机器人第一次与团队相关联的事件。
  • conversationUpdate 仍然是正确的(也是唯一的)事件,但您要做的是检查,作为“更新”的一部分,添加了谁。如果添加的用户的 ID 与您的机器人的 ID 匹配,那么您知道您的机器人刚刚添加到团队中,您只需忽略任何未来的会话更新事件。 Javin 链接到的文章显示了这一点,在名为“示例代码:检查机器人是否是添加的成员”部分中
  • @MarsRoverII conversationUpdate 是唯一在 some1 进入团队应用商店、选择您的机器人并点击安装时第一次被调用的事件,甚至官方文档也这么说。我不明白为什么你认为它不是?请详细说明一下。
猜你喜欢
  • 2023-03-11
  • 2017-11-05
  • 1970-01-01
  • 2020-11-07
  • 1970-01-01
  • 2021-04-01
  • 1970-01-01
  • 2019-11-27
  • 1970-01-01
相关资源
最近更新 更多