Interface ManagerBase<Client>

[zh-CN] 可注册到 ChatClient 的管理器基础接口。 [en-US] Base interface for managers that can be registered with ChatClient.

interface ManagerBase<Client> {
    capabilities?: readonly ManagerCapability[];
    bind(
        client: Client,
        context?: ManagerEventContext<
            Partial<
                {
                    onConnecting: (payload: ConnectionEventPayload) => {};
                    onConnected: (payload: ConnectionEventPayload) => {};
                    onDisconnected: (payload: ConnectionEventPayload) => {};
                    onReconnectFailed: (payload: ConnectionEventPayload) => {};
                    onTokenWillExpire: (payload: undefined) => {};
                    onTokenExpired: (payload: undefined) => {};
                    onOfflineMessageSyncStart: (payload: undefined) => {};
                    onOfflineMessageSyncFinish: (payload: undefined) => {};
                    onMessage: (payload: Message) => {};
                    onStreamMessage: (payload: StreamMessage) => {};
                    onConversationListUpdate: (
                        payload: ConversationListUpdatePayload,
                    ) => {};
                    onMessageReadReceipts: (
                        payload: readonly MessageReceiptEventPayload[],
                    ) => {};
                    onMessageDelivered: (payload: MessageDeliveredEventPayload) => {};
                    onMessageRecalled: (payload: MessageRecalledEventPayload) => {};
                    onMessageUpdated: (payload: MessageUpdatedEventPayload) => {};
                    onReactionChanged: (payload: ReactionChangedEventPayload) => {};
                    onPinnedMessageChanged: (
                        payload: PinnedMessageChangedEventPayload,
                    ) => {};
                    onMultiDeviceContact: (payload: MultiDeviceContactEvent) => {};
                    onMultiDeviceGroup: (payload: MultiDeviceGroupEvent) => {};
                    onMultiDeviceThread: (payload: MultiDeviceThreadEvent) => {};
                    onMultiDeviceConversation: (
                        payload: MultiDeviceConversationEvent,
                    ) => {};
                    onMultiDeviceMessageRemoved: (
                        payload: MultiDeviceMessageRemovedEvent,
                    ) => {};
                    onSyncDataStart: (payload: SyncDataStartPayload) => {};
                    onSyncDataFinished: (payload: SyncDataFinishedPayload) => {};
                    onChatThreadCreated: (payload: ChatThreadCreatedEventPayload) => {};
                    onChatThreadDestroyed: (payload: ChatThreadBaseEventPayload) => {};
                    onChatThreadUpdated: (payload: ChatThreadUpdatedEventPayload) => {};
                    onChatThreadUserRemoved: (
                        payload: ChatThreadUserRemovedEventPayload,
                    ) => {};
                    onSendTimeout: (payload: SendTimeoutEventPayload) => {};
                    onGroupNotify: (payload: GroupRawNotifyEvent) => {};
                    onChatRoomNotify: (payload: ChatRoomRawNotifyEvent) => {};
                    onChatThreadNotify: (payload: ChatThreadRawNotifyEvent) => {};
                    onUserInfoNotify: (payload: UserInfoRawNotifyEvent) => {};
                    "__internal:onMessageSent": (payload: Message) => {};
                    onPresenceStatusChange: (payload: readonly PresenceState[]) => {};
                    onContactInvited: (payload: ContactRosterEventPayload) => {};
                    onContactDeleted: (payload: ContactRosterEventPayload) => {};
                    onContactAdded: (payload: ContactRosterEventPayload) => {};
                    onContactRefuse: (payload: ContactRosterEventPayload) => {};
                    onContactAgreed: (payload: ContactRosterEventPayload) => {};
                    onContactInfoUpdated: (payload: ContactInfoUpdatedEvent) => {};
                    onOwnInfoUpdated: (payload: UserInfo) => {};
                    onUserInfoUpdated: (payload: readonly UserInfo[]) => {};
                    onInvitationReceived: (
                        payload: GroupInvitationReceivedEventPayload,
                    ) => {};
                    onRequestToJoinReceived: (
                        payload: GroupRequestToJoinReceivedEventPayload,
                    ) => {};
                    onRequestToJoinAccepted: (
                        payload: GroupRequestToJoinAcceptedEventPayload,
                    ) => {};
                    onRequestToJoinDeclined: (
                        payload: GroupRequestToJoinDeclinedEventPayload,
                    ) => {};
                    onInvitationAccepted: (
                        payload: GroupInvitationAcceptedEventPayload,
                    ) => {};
                    onInvitationDeclined: (
                        payload: GroupInvitationDeclinedEventPayload,
                    ) => {};
                    onUserRemoved: (payload: GroupUserRemovedEventPayload) => {};
                    onGroupDestroyed: (payload: GroupDestroyedEventPayload) => {};
                    onAutoAcceptInvitationFromGroup: (
                        payload: GroupAutoAcceptInvitationEventPayload,
                    ) => {};
                    onMuteListAdded: (payload: GroupMuteListAddedEventPayload) => {};
                    onMuteListRemoved: (payload: GroupMuteListRemovedEventPayload) => {};
                    onAllowListAdded: (payload: GroupAllowListAddedEventPayload) => {};
                    onAllowListRemoved: (payload: GroupAllowListRemovedEventPayload) => {};
                    onAllMemberMuteStateChanged: (
                        payload: GroupAllMemberMuteStateChangedEventPayload,
                    ) => {};
                    onAdminAdded: (payload: GroupAdminAddedEventPayload) => {};
                    onAdminRemoved: (payload: GroupAdminRemovedEventPayload) => {};
                    onOwnerChanged: (payload: GroupOwnerChangedEventPayload) => {};
                    onMembersJoined: (payload: GroupMembersJoinedEventPayload) => {};
                    onMembersExited: (payload: GroupMembersExitedEventPayload) => {};
                    onAnnouncementChanged: (
                        payload: GroupAnnouncementChangedEventPayload,
                    ) => {};
                    onSharedFileAdded: (payload: GroupSharedFileAddedEventPayload) => {};
                    onSharedFileDeleted: (
                        payload: GroupSharedFileDeletedEventPayload,
                    ) => {};
                    onGroupInfoChanged: (payload: GroupInfoChangedEventPayload) => {};
                    onGroupDisabledChanged: (
                        payload: GroupDisabledChangedEventPayload,
                    ) => {};
                    onGroupMemberAttributeChanged: (
                        payload: GroupMemberAttributeChangedEventPayload,
                    ) => {};
                    onUserGroupNamecardUpdated: (
                        payload: GroupUserGroupNamecardUpdatedEventPayload,
                    ) => {};
                    "__chatroom:onChatRoomDestroyed": (
                        payload: ChatRoomDestroyedEventPayload,
                    ) => {};
                    "__chatroom:onMembersJoined": (
                        payload: ChatRoomMembersJoinedEventPayload,
                    ) => {};
                    "__chatroom:onMembersExited": (
                        payload: ChatRoomMembersExitedEventPayload,
                    ) => {};
                    "__chatroom:onRemovedFromChatRoom": (
                        payload: ChatRoomRemovedFromChatRoomEventPayload,
                    ) => {};
                    "__chatroom:onMuteListAdded": (
                        payload: ChatRoomMuteListAddedEventPayload,
                    ) => {};
                    "__chatroom:onMuteListRemoved": (
                        payload: ChatRoomMuteListRemovedEventPayload,
                    ) => {};
                    "__chatroom:onAllowListAdded": (
                        payload: ChatRoomAllowListAddedEventPayload,
                    ) => {};
                    "__chatroom:onAllowListRemoved": (
                        payload: ChatRoomAllowListRemovedEventPayload,
                    ) => {};
                    "__chatroom:onAllMemberMuteStateChanged": (
                        payload: ChatRoomAllMemberMuteStateChangedEventPayload,
                    ) => {};
                    "__chatroom:onAdminAdded": (
                        payload: ChatRoomAdminAddedEventPayload,
                    ) => {};
                    "__chatroom:onAdminRemoved": (
                        payload: ChatRoomAdminRemovedEventPayload,
                    ) => {};
                    "__chatroom:onOwnerChanged": (
                        payload: ChatRoomOwnerChangedEventPayload,
                    ) => {};
                    "__chatroom:onAnnouncementChanged": (
                        payload: ChatRoomAnnouncementChangedEventPayload,
                    ) => {};
                    "__chatroom:onChatRoomInfoChanged": (
                        payload: ChatRoomInfoChangedEventPayload,
                    ) => {};
                    "__chatroom:onAttributesUpdate": (
                        payload: ChatRoomAttributesUpdateEventPayload,
                    ) => {};
                    "__chatroom:onAttributesRemoved": (
                        payload: ChatRoomAttributesRemovedEventPayload,
                    ) => {};
                },
            >,
        >,
    ): void;
    handleRawNotify(event: RawNotifyEvent): void | Promise<void>;
}

Type Parameters

  • Client

Implemented by

Properties

capabilities?: readonly ManagerCapability[]

[zh-CN] 管理器声明的能力列表。 [en-US] Capabilities declared by the manager.

Methods

  • [zh-CN] 处理管理器订阅的原始通知。 [en-US] Handles raw notifications subscribed to by the manager.

    Parameters

    Returns void | Promise<void>