如何在安装团队机器人上向组的所有成员发送消息

时间:2021-01-21 10:11:00

标签: botframework chatbot microsoft-teams

我创建了一个团队机器人,并有一个用 .NET Core 编写的服务来处理事件和用户的消息,以便相应地回复。

当我在组中安装机器人时,我需要在安装时向该组的所有成员发送个人消息(一对一,即机器人和用户之间)。我试图在 OnConversationUpdateActivityAsync 事件处理程序中做到这一点(当我安装机器人时会被触发)。但是在这种情况下,我获得了正在安装机器人的用户的信息,而不是添加到该组中的其他成员的信息,也没有获得机器人所在的频道(channelId 和成员等)的任何信息正在安装。

任何不同的方法或解决方案都可行。 提前致谢。

2 个答案:

答案 0 :(得分:1)

您没有说是希望机器人私下向用户发送消息(例如机器人和用户之间的 1-1)还是只是在群聊中向每个人发送个人消息,但在这两种情况下,主动消息传递都是你的正确做法。如果您想在群聊中发送消息,请参阅this sample

如果您想直接向用户发送消息,1-1,他们需要将机器人安装为个人应用程序。可以自动执行此操作,但需要更多工作,并且需要 Microsoft Graph。主动消息传递也有点不同 - 您可以根据上一个示例获取成员列表,但请参阅 here 了解如何获取所需的 1-1 对话详细信息以及如何发送实际消息。最后一个链接还包含有关如何入门的文档,以及一些背景阅读(在页面底部)。

答案 1 :(得分:1)

@Hilton 是正确的,您需要指定您要在哪个范围内 1:1 或直接在群聊中通知用户? 如果在安装时通知用户,应用程序应安装在用户范围内,您可以使用 Graph API 在用户/群聊/团队范围内proactively install the App。要在 Teams 或群聊中通知用户,您可以使用 List conversation members API 获取成员列表,当您使用 Graph API Bot 安装应用时收到转换更新,您可以保存对话参考并将其用于主动通知。