【问题标题】:onMembersAdded event is not firing when installing Teams Bot app from zip从 zip 安装 Teams Bot 应用程序时未触发 onMembersAdded 事件
【发布时间】:2020-11-07 20:09:02
【问题描述】:

我想在用户安装我的 MS Teams Bot 应用程序时向他们发送欢迎消息。所有示例和文档都指向使用 ActivityHandler onMembersAdded 事件。不幸的是,我无法触发此事件。我还注意到,在 Teams 中安装 zip 文件并在 ngrok 中查看请求时没有任何反应;所以我不完全确定问题出在我的机器人应用程序中。清单中有我需要做的事情吗?

如果我与我的应用聊天,onMessage 事件将触发,但就像我上面所说的,我需要在安装应用时在用户开始输入之前发送“欢迎”消息。

背景: 我在 Teams 中使用 App Studio 为我的应用创建了清单并将其导出到 zip 节点应用程序是使用 botbuilder 4.9.2 构建的

【问题讨论】:

  • 之前是否为该用户安装过该应用(例如直接从 App Studio 安装)?
  • 我们无法重现我们这边的问题。你能试试这个sample吗?
  • @HiltonGiesnow 是的,我之前使用 App Studio 安装过它。生成新的 AppID 不应该将其视为新安装吗?
  • @Nikitha-MSFT 卸载似乎不起作用,似乎团队保留了与该机器人相关的所有内容,并在重新安装相同的机器人应用程序时恢复它。我确实设法通过创建一个具有所有新 ID 的全新机器人应用程序来使其正常工作。但是对于测试来说,如果卸载真的会重置一切。
  • 对于机器人和用户(个人范围)之间的 1:1 对话,仅在首次安装机器人时发送事件。从技术上讲,它是在机器人和用户之间创建对话时发送的。如果用户卸载机器人,则不会删除此对话,因此如果用户随后重新安装机器人,则不会发送事件。对于群聊和频道,每次安装机器人时都会发送事件。这是因为每次从这个上下文中卸载机器人时,它实际上是完全从对话中删除的,所以卸载会触发事件。

标签: node.js botframework bots microsoft-teams azure-bot-service


【解决方案1】:

onMembersAddedAsync 适用于任何地方,但不适用于 Teams :) 对于 Teams,有一组单独的方法仅适用于 Teams。您需要使用 OnTeamsMembersAddedAsync。你可以在这里阅读更多信息:https://docs.microsoft.com/en-us/microsoftteams/platform/bots/how-to/create-a-bot-for-teams

【讨论】:

  • 我最初使用 OnTeamsMembersAddedAsync 并切换到尝试查看是否会触发另一个事件。但你是正确的 OnTeamsMembersAddedAsync 是正确的使用。
猜你喜欢
  • 2021-04-01
  • 2020-12-21
  • 1970-01-01
  • 2011-06-29
  • 1970-01-01
  • 1970-01-01
  • 2022-08-18
  • 1970-01-01
  • 2018-04-30
相关资源
最近更新 更多