群组事件监听器。

监听群组相关的事件,例如,加群申请,群主同意或者拒绝加群,被踢群等事件。

 注册群组事件监听:
     ChatClient.getInstance().groupManager()?.addListener(mGroupChangeListener);
 移除群组事件监听:
     ChatClient.getInstance().groupManager()?.removeListener(mGroupChangeListener);
interface GroupListener {
    onAdminAdded?: ((groupId: string, administrator: string) => void);
    onAdminRemoved?: ((groupId: string, administrator: string) => void);
    onAllMemberMuteStateChanged?: ((groupId: string, isMuted: boolean) => void);
    onAnnouncementChanged?: ((groupId: string, announcement: string) => void);
    onAutoAcceptInvitationFromGroup?: ((groupId: string, inviter: string, inviteMessage: string) => void);
    onGroupDestroyed?: ((groupId: string, groupName: string) => void);
    onGroupMemberAttributeChanged?: ((groupId: string, member: string, attributes: Map<string, string>, from: string) => void);
    onInvitationAccepted?: ((groupId: string, invitee: string, reason: string) => void);
    onInvitationDeclined?: ((groupId: string, invitee: string, reason: string) => void);
    onInvitationReceived?: ((groupId: string, groupName: string, inviter: string, reason: string) => void);
    onMemberExited?: ((groupId: string, member: string) => void);
    onMemberJoined?: ((groupId: string, member: string) => void);
    onMutelistAdded?: ((groupId: string, mutes: string[], muteExpire: number) => void);
    onMutelistRemoved?: ((groupId: string, mutes: string[]) => void);
    onOwnerChanged?: ((groupId: string, newOwner: string, oldOwner: string) => void);
    onRequestToJoinAccepted?: ((groupId: string, groupName: string, accepter: string) => void);
    onRequestToJoinDeclined?: ((groupId: string, groupName: string, decliner: string, applicant: string, reason: string) => void);
    onRequestToJoinReceived?: ((groupId: string, groupName: string, applicant: string, reason: string) => void);
    onSharedFileAdded?: ((groupId: string, sharedFile: SharedFile) => void);
    onSharedFileDeleted?: ((groupId: string, fileId: string) => void);
    onSpecificationChanged?: ((group: Group) => void);
    onStateChanged?: ((group: Group, isDisabled: boolean) => void);
    onUserRemoved?: ((groupId: string, groupName: string) => void);
    onWhitelistAdded?: ((groupId: string, whitelist: string[]) => void);
    onWhitelistRemoved?: ((groupId: string, whitelist: string[]) => void);
}

Properties

onAdminAdded?: ((groupId: string, administrator: string) => void)

成员设置为管理员回调。

新管理员、群主及其他管理员收到该事件回调。

Type declaration

    • (groupId, administrator): void
    • Parameters

      • groupId: string

        群组 ID。

      • administrator: string

        设置为管理员的成员。

      Returns void

onAdminRemoved?: ((groupId: string, administrator: string) => void)

取消成员的管理员权限回调。

被移除权限的管理员、群主及其他管理员收到该事件回调。

Type declaration

    • (groupId, administrator): void
    • Parameters

      • groupId: string

        群组 ID。

      • administrator: string

        被取消管理员权限的成员。

      Returns void

onAllMemberMuteStateChanged?: ((groupId: string, isMuted: boolean) => void)

全员禁言状态变化回调。

所有群成员收到该事件回调。

Type declaration

    • (groupId, isMuted): void
    • Parameters

      • groupId: string

        群组 ID。

      • isMuted: boolean

        是否开启了全员禁言:

        • true:是;
        • false:否。

      Returns void

onAnnouncementChanged?: ((groupId: string, announcement: string) => void)

群公告更新回调。

所有群成员收到该回调。

Type declaration

    • (groupId, announcement): void
    • Parameters

      • groupId: string

        群组 ID。

      • announcement: string

        更新后的公告内容。

      Returns void

onAutoAcceptInvitationFromGroup?: ((groupId: string, inviter: string, inviteMessage: string) => void)

自动同意加入群组回调。

受邀人收到该回调。

SDK 会先加入这个群组,并通过此回调通知应用。

参考 ChatOptions.setAutoAcceptGroupInvitations

Type declaration

    • (groupId, inviter, inviteMessage): void
    • Parameters

      • groupId: string

        群组 ID。

      • inviter: string

        邀请者的用户 ID。

      • inviteMessage: string

        邀请信息。

      Returns void

onGroupDestroyed?: ((groupId: string, groupName: string) => void)

群组被解散回调。

群主解散群组时,所有群成员均会收到该回调。

SDK 会先删除本地的这个群组,之后通过此回调通知应用,此群组被删除了。

Type declaration

    • (groupId, groupName): void
    • Parameters

      • groupId: string

        群组 ID。

      • groupName: string

        群组名称。

      Returns void

onGroupMemberAttributeChanged?: ((groupId: string, member: string, attributes: Map<string, string>, from: string) => void)

群组成员自定义属性变化的回调。

Type declaration

    • (groupId, member, attributes, from): void
    • Parameters

      • groupId: string

        群组 ID。

      • member: string

        自定义属性变更的群成员的用户 ID。

      • attributes: Map<string, string>

        变化的自定义属性,key-value 格式。

      • from: string

        操作者的用户 ID。

      Returns void

onInvitationAccepted?: ((groupId: string, invitee: string, reason: string) => void)

群组邀请被接受的回调。

邀请人收到该回调。

Type declaration

    • (groupId, invitee, reason): void
    • Parameters

      • groupId: string

        群组 ID。

      • invitee: string

        受邀人的用户 ID。

      • reason: string

        接受理由。

      Returns void

onInvitationDeclined?: ((groupId: string, invitee: string, reason: string) => void)

群组邀请被拒绝的回调。

邀请人收到该回调。

Type declaration

    • (groupId, invitee, reason): void
    • Parameters

      • groupId: string

        群组 ID。

      • invitee: string

        受邀人的用户 ID。

      • reason: string

        拒绝理由。

      Returns void

onInvitationReceived?: ((groupId: string, groupName: string, inviter: string, reason: string) => void)

用户收到入群邀请的回调。

受邀用户会收到该回调。例如,用户 B 邀请用户 A 入群,则用户 A 会收到该回调。

Type declaration

    • (groupId, groupName, inviter, reason): void
    • Parameters

      • groupId: string

        要加入的群组 ID。

      • groupName: string

        要加入的群的名称。

      • inviter: string

        邀请人的用户 ID。

      • reason: string

        邀请加入的原因。

      Returns void

onMemberExited?: ((groupId: string, member: string) => void)

群组成员主动退出回调。

所有群成员收到该回调。

Type declaration

    • (groupId, member): void
    • Parameters

      • groupId: string

        群组 ID。

      • member: string

        退群的成员 ID。

      Returns void

onMemberJoined?: ((groupId: string, member: string) => void)

新成员加入群组回调。

所有群成员收到该回调。

Type declaration

    • (groupId, member): void
    • Parameters

      • groupId: string

        群组 ID。

      • member: string

        新成员的用户 ID。

      Returns void

onMutelistAdded?: ((groupId: string, mutes: string[], muteExpire: number) => void)

有成员被禁言回调。

被加入禁言列表的成员、群主和群管理员收到该回调。

Type declaration

    • (groupId, mutes, muteExpire): void
    • Parameters

      • groupId: string

        群组 ID。

      • mutes: string[]

        禁言的成员列表。

      • muteExpire: number

      Returns void

禁言不同于加入黑名单。用户禁言后,将无法在群中发送消息,但可查看群组中的消息,而黑名单中的用户无法查看和发送群组消息。

onMutelistRemoved?: ((groupId: string, mutes: string[]) => void)

有成员被解除禁言,恢复发言权限。

被移出禁言列表的成员、群主和群管理员收到该回调。

Type declaration

    • (groupId, mutes): void
    • Parameters

      • groupId: string

        群组 ID。

      • mutes: string[]

        从群组禁言列表中移除成员。

      Returns void

禁言不同于加入黑名单。用户禁言后,将无法在群中发送消息,但可查看群组中的消息,而黑名单中的用户无法查看和发送群组消息。

onOwnerChanged?: ((groupId: string, newOwner: string, oldOwner: string) => void)

转移群主权限回调。

所有群成员收到该回调。

Type declaration

    • (groupId, newOwner, oldOwner): void
    • Parameters

      • groupId: string

        群组 ID。

      • newOwner: string

        新群主。

      • oldOwner: string

        原群主。

      Returns void

onRequestToJoinAccepted?: ((groupId: string, groupName: string, accepter: string) => void)

加群申请被对方接受回调。

申请人、群主和管理员(除操作者)收到该回调。

Type declaration

    • (groupId, groupName, accepter): void
    • Parameters

      • groupId: string

        群组 ID。

      • groupName: string

        群组名称。

      • accepter: string

        接受人的用户 ID。

      Returns void

onRequestToJoinDeclined?: ((groupId: string, groupName: string, decliner: string, applicant: string, reason: string) => void)

加群申请被拒绝的回调。

申请人、群主和管理员(除操作者)收到该回调。

Type declaration

    • (groupId, groupName, decliner, applicant, reason): void
    • Parameters

      • groupId: string

        群组 ID。

      • groupName: string

        群组名称。

      • decliner: string

        拒绝人的用户 ID。

      • applicant: string

        申请加入者的用户 ID。

      • reason: string

        拒绝理由。

      Returns void

onRequestToJoinReceived?: ((groupId: string, groupName: string, applicant: string, reason: string) => void)

用户申请入群回调。

群主和所有管理员收到该回调。

Type declaration

    • (groupId, groupName, applicant, reason): void
    • Parameters

      • groupId: string

        要加入的群组 ID。

      • groupName: string

        要加入的群的名称。

      • applicant: string

        申请人的用户 ID。

      • reason: string

        申请加入的原因。

      Returns void

onSharedFileAdded?: ((groupId: string, sharedFile: SharedFile) => void)

群组添加共享文件回调。

所有群成员收到该回调。

Type declaration

    • (groupId, sharedFile): void
    • Parameters

      • groupId: string

        群组 ID。

      • sharedFile: SharedFile

        添加的共享文件。

      Returns void

onSharedFileDeleted?: ((groupId: string, fileId: string) => void)

群组删除共享文件回调。

所有群成员收到该回调。

Type declaration

    • (groupId, fileId): void
    • Parameters

      • groupId: string

        群组 ID。

      • fileId: string

        删除的共享文件的 ID。

      Returns void

onSpecificationChanged?: ((group: Group) => void)

群组详情更新回调。

你需调用 GroupManager.fetchGroupFromServer 获取最新群组信息。

所有群成员收到该事件回调.

Type declaration

    • (group): void
    • Parameters

      • group: Group

        群组对象。

      Returns void

onStateChanged?: ((group: Group, isDisabled: boolean) => void)

群组禁用或启动状态回调。

所有群成员收到该事件回调。

Type declaration

    • (group, isDisabled): void
    • Parameters

      • group: Group

        群组对象。

      • isDisabled: boolean

        是否禁用。 - true:禁用。 - false:启用。

      Returns void

onUserRemoved?: ((groupId: string, groupName: string) => void)

当前登录用户被移除出群组回调。

被踢出群组的成员会收到该回调。

Type declaration

    • (groupId, groupName): void
    • Parameters

      • groupId: string

        群组 ID。

      • groupName: string

        群组名称。

      Returns void

onWhitelistAdded?: ((groupId: string, whitelist: string[]) => void)

添加白名单回调。

被加入白名单的成员、群主和群管理员收到该回调。

Type declaration

    • (groupId, whitelist): void
    • Parameters

      • groupId: string

        群组 ID。

      • whitelist: string[]

        要加入白名单的成员列表。

      Returns void

onWhitelistRemoved?: ((groupId: string, whitelist: string[]) => void)

移除白名单回调。

被移出白名单的成员、群主和群管理员收到该回调。

Type declaration

    • (groupId, whitelist): void
    • Parameters

      • groupId: string

        群组 ID。

      • whitelist: string[]

        从白名单中移除的成员列表。

      Returns void