以编程方式将机器人 (ms-botbuilder) 添加到 MS Teams Team/Channel

Add bot (ms-botbuilder) to the MS Teams Team/Channel programmatically

我正在寻找一种方法来将机器人添加到这个机器人刚刚创建的团队中。

  1. 机器人能够通过 MS Graph 创建群组 JS-SDK
graphClient.api("/groups").post({
            displayName: "Some Name",
            mailNickname: "Name without Spaces",
            description: "Some Description",
            visibility: "Private",
            groupTypes: ["Unified"],
            mailEnabled: true,
            securityEnabled: false,
            "members@odata.bind": members, // array of url strings of members
            "owners@odata.bind": owners,
        });

membersowners 表示用户的字符串数组: https://graph.microsoft.com/v1.0/users/{user-id}。通过 /users 搜索

找到它们
  1. 然后向该组添加了一个团队 (来源:https://docs.microsoft.com/en-us/graph/api/team-put-teams?view=graph-rest-beta&tabs=javascript)像那样:
    graphClient.api(`/groups/${group-id}/team`).put({});
  2. 和频道 - graphClient.api(`/teams/${group-id}/channels`).post(channel);

找不到将机器人添加到刚刚创建的团队或频道的方法。 也许有办法找到它的 guid 或某种应用程序 ID 并将其添加到组中?

所以请记住,机器人不是普通用户,它是一个应用程序。因此,要将其添加到团队中,您可以使用 Add app to team operation against the Graph. To do so, you need to use the app Id from List the published apps from the Microsoft Teams app catalog.

执行此操作后,您的机器人将成为整个团队的一部分,并且可以从任何频道访问。因此,您不需要在将机器人安装到团队后将其添加到频道本身(您可以看到这一点,因为从 "channel" 中删除机器人的唯一方法是将其从整个团队的应用程序选项卡)。在这方面它有点像用户 - 将用户添加到团队中可以让他们访问所有频道。但是,如果您的应用程序也包含一个选项卡,则该选项卡可以自动添加到单个频道 - 请参阅 add tab to channel