首页 > 解决方案 > 如何检查机器人/应用程序是否已从 ms 团队中卸载?

问题描述

我在团队中安装了一个机器人应用程序,使用团队范围。现在,当从团队中卸载此应用程序时,我可以获取/监控任何事件吗?

我正在查看 Microsoft 文档并尝试使用以下代码。据此,onTeamsMembersRemovedEvent当机器人或成员被删除时调用。

export class MyBot extends TeamsActivityHandler {
    constructor() {
        super();
        this.onTeamsMembersRemovedEvent(async (membersRemoved: ChannelAccount[], teamInfo: TeamInfo, turnContext: TurnContext, next: () => Promise<void>): Promise<void> => {
            let removedMembers: string = '';
            console.log(JSON.stringify(membersRemoved));
            membersRemoved.forEach((account) => {
                removedMembers += account.id + ' ';
            });
            const name = !teamInfo ? 'not in team' : teamInfo.name;
            const card = CardFactory.heroCard('Account Removed', `${removedMembers} removed from ${teamInfo.name}.`);
            const message = MessageFactory.attachment(card);
            await turnContext.sendActivity(message);
            await next();
        });
    }
}

但对我来说,当我删除机器人应用程序时,我没有收到此事件。我通过选择卸载从应用程序内部手动删除机器人应用程序。

标签: botframeworkmicrosoft-teams

解决方案


当通过导航到更多选项 > 管理团队 > 应用程序 > 卸载卸载应用程序时,teamMemberRemoved 事件被触发并得到正确响应。

{
"membersRemoved": [
    {
        "id": "28:aXXXXX04-e293-447c-951f-6a6971b3b66b"
    }
],
"type": "conversationUpdate",
"timestamp": "2021-10-19T15:24:45.9499395Z",
"id": "f:e0d2c276-XXXXX-5d74-73ad-3c67b9b0ae4f",
"channelId": "msteams",
"serviceUrl": "https://smba.trafficmanager.net/amer/",
"from": {
    "id": "29:1qanOqiaR5gWE-aWoYPdYjB--mUmmVQFGddHxyb37WXc4FI-eD62pSxBJYoXXXXXeGyFlpiTzRd-fTCiBmNbeuQg",
    "aadObjectId": "XXXXXc4d0-XXXXX-4154-a85f-a89cd77aefa8"
},
"conversation": {
    "isGroup": true,
    "conversationType": "channel",
    "tenantId": "3XXXXXef-XXXXX-4d60-XXXXX-0aXXXXX693df",
    "id": "19:XXXXX53a099498f9e08679e58f1f7fc@thread.tacv2"
},
"recipient": {
    "id": "28:aXXXXX-e293-XXXXX-951f-6a6971b3b66b",
    "name": "XXXXX"
},
"channelData": {
    "team": {
        "aadGroupId": "XXXXXf3-fa01-XXXXX-bb62-201225dce9e4",
        "name": "XXXXX",
        "id": "19:XXXXX099498f9e08679eXXXXXf7fc@thread.tacv2"
    },
    "eventType": "teamMemberRemoved",
    "tenant": {
        "id": "36a708ef-XXXX-4d60-9de0-XXXXXXdf"
    }
}}

推荐阅读