Hierarchy (view full)

Constructors

Properties

bot_user_id: number
connection?: WebSocket
logger: ClientLogger
prefixed: string | boolean

Methods

  • CallApi

    Type Parameters

    • T extends keyof IOnebotExports
    • R extends
          | ((params: {
              no_cache?: boolean;
              user_id: number;
          }) => TStrangerInfo)
          | ((params: {
              context: object;
              operation: object;
          }) => void)
          | ((params: {
              auto_escape?: boolean;
              message: TElements;
              user_id: number;
          }) => number)
          | ((params: {
              auto_escape?: boolean;
              group_id: number;
              message: TElements;
          }) => number)
          | ((params: {
              auto_escape?: boolean;
              group_id?: number;
              message: TElements;
              message_type?: "private" | "group";
              user_id?: number;
          }) => number)
          | ((params: {
              message_id: number;
          }) => void)
          | ((params: {
              message_id: number;
          }) => TMessage)
          | ((params: {
              id: string;
          }) => TSegment[])
          | ((params: {
              times?: number;
              user_id: number;
          }) => void)
          | ((params: {
              group_id: number;
              reject_add_request?: boolean;
              user_id: number;
          }) => void)
          | ((params: {
              duration?: number;
              group_id: number;
              user_id: number;
          }) => void)
          | ((params: {
              anonymous?: TAnonymous;
              anonymous_flag?: string;
              duration?: number;
              group_id: number;
          }) => void)
          | ((params: {
              enable?: boolean;
              group_id: number;
          }) => void)
          | ((params: {
              enable?: boolean;
              group_id: number;
              user_id: number;
          }) => void)
          | ((params: {
              enable?: boolean;
              group_id: number;
          }) => void)
          | ((params: {
              card?: string;
              group_id: number;
              user_id: number;
          }) => void)
          | ((params: {
              group_id: number;
              group_name: string;
          }) => void)
          | ((params: {
              group_id: number;
              is_dismiss?: boolean;
          }) => void)
          | ((params: {
              duration?: number;
              group_id: number;
              special_title?: string;
              user_id: number;
          }) => void)
          | ((params: {
              approve?: boolean;
              flag: string;
              remark?: string;
          }) => void)
          | ((params: {
              approve?: boolean;
              flag: string;
              reason?: string;
              sub_type: "add" | "invite";
          }) => void)
          | (() => TLoginInfo)
          | (() => TFriendInfo[])
          | ((params: {
              group_id: number;
              no_cache?: boolean;
          }) => TGroupInfo)
          | (() => TGroupInfo[])
          | ((params: {
              group_id: number;
              no_cache?: boolean;
              user_id: number;
          }) => TGroupMemberInfo)
          | ((params: {
              group_id: number;
          }) => TGroupMemberInfo[])
          | ((params: {
              group_id: number;
              type:
                  | "talkative"
                  | "performer"
                  | "legend"
                  | "strong_newbie"
                  | "emotion"
                  | "all";
          }) => TGroupHonorInfo)
          | ((params: {
              domain?: string;
          }) => {
              cookies: string;
          })
          | (() => {
              token: number;
          })
          | ((params: {
              domain?: string;
          }) => {
              cookies: string;
              token: number;
          })
          | ((params: {
              file: string;
              out_format: string;
          }) => {
              file: string;
          })
          | ((params: {
              file: string;
          }) => {
              file: string;
          })
          | (() => {
              yes: boolean;
          })
          | (() => {
              yes: boolean;
          })
          | (() => TStatus)
          | (() => {
              app_name: string;
              app_version: string;
              protocol_version: string;
          })
          | ((params: {
              delay?: number;
          }) => void)
          | (() => void)
          | ((params: {
              file: string;
          }) => void)
          | (() => TGroupIngoreAddRequestInfo)
          | ((params: {
              file_id: string;
          }) => TFileInfo)
          | ((params: {
              message_id: number;
              user_id: number;
          }) => void)
          | ((params: {
              group_id: number;
              message_id: number;
          }) => void)
          | ((params: {
              emoji_id: number;
              message_id: number;
          }) => void)
          | (() => TFriendWithCategoryInfo)
          | (() => any)
          | ((params: {
              group_id: number;
              messages: TSegment[];
          }) => {
              forward_id: number;
              message_id: number;
          })
          | ((params: {
              messages: TSegment[];
              user_id: number;
          }) => {
              forward_id: number;
              message_id: number;
          })
          | ((params: {
              group_id: number;
              message_seq?: number;
          }) => TSegment[])
          | ((params: {
              file: string;
              folder?: string;
              group_id: number;
              name: string;
          }) => void)
          | ((params: {
              base64?: string;
              headers: string | string[];
              thread_count: number;
              url: string;
          }) => {
              file: string;
          })

    Parameters

    • action: T

      api

    • Rest...args: Parameters<R>

      arguments of api

    Returns Promise<ReturnType<R>>

  • Connect to Websocket Server

    Returns Promise<void>

  • Type Parameters

    • T extends
          | "message.private"
          | "message.private.friend"
          | "message.private.group"
          | "message.private.other"
          | "message.group"
          | "message.group.normal"
          | "message.group.anonymous"
          | "message.group.notice"
          | "notice"
          | "notice.friend_add"
          | "notice.friend_recall"
          | "notice.group_upload"
          | "notice.group_admin"
          | "notice.group_decrease"
          | "notice.group_increase"
          | "notice.group_ban"
          | "notice.group_recall"
          | "request"
          | "request.friend"
          | "request.group.add"
          | "request.group.invite"
          | "data"
          | "message"
          | "error"
          | "open"
          | "close"

    Parameters

    • event: T
    • fn: ((...args: ArgumentMap<{
          message(event: TPrivateMessageEvent | TGroupMemberSender): void;
      } & {
          message.private(event: TPrivateMessageEvent): void;
          message.private.friend(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              message_type: "private";
              sender: TStrangerInfo;
              sub_type: "group" | "friend" | "other";
          } & {
              sub_type: "friend";
          }): void;
          message.private.group(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              message_type: "private";
              sender: TStrangerInfo;
              sub_type: "group" | "friend" | "other";
          } & {
              sub_type: "group";
          }): void;
          message.private.other(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              message_type: "private";
              sender: TStrangerInfo;
              sub_type: "group" | "friend" | "other";
          } & {
              sub_type: "other";
          }): void;
      } & {
          message.group(event: TGroupMessageEvent): void;
          message.group.anonymous(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              anonymous: null | TAnonymous;
              group_id: number;
              message_type: "group";
              sender: TGroupMemberSender;
              sub_type: "notice" | "normal" | "anonymous";
              kick(): void;
              mute(ban_duration?: number): void;
              recall(): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
          } & {
              sub_type: "anonymous";
          }): void;
          message.group.normal(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              anonymous: null | TAnonymous;
              group_id: number;
              message_type: "group";
              sender: TGroupMemberSender;
              sub_type: "notice" | "normal" | "anonymous";
              kick(): void;
              mute(ban_duration?: number): void;
              recall(): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
          } & {
              sub_type: "normal";
          }): void;
          message.group.notice(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              anonymous: null | TAnonymous;
              group_id: number;
              message_type: "group";
              sender: TGroupMemberSender;
              sub_type: "notice" | "normal" | "anonymous";
              kick(): void;
              mute(ban_duration?: number): void;
              recall(): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
          } & {
              sub_type: "notice";
          }): void;
      } & {
          notice(event:
              | TGroupFileUploadEvent
              | TGroupAdminChangeEvent
              | TGroupMemberDecreaseEvent
              | TGroupMemberIncreaseEvent
              | TGroupMuteEvent
              | TGroupMessageRecallEvent
              | TFriendAddEvent
              | TFriendMessageRecallevent): void;
      } & {
          notice(event: TFriendAddEvent | TFriendMessageRecallevent): void;
          notice.friend_add(event: TFriendAddEvent): void;
          notice.friend_recall(event: TFriendMessageRecallevent): void;
      } & {
          notice(event:
              | TGroupFileUploadEvent
              | TGroupAdminChangeEvent
              | TGroupMemberDecreaseEvent
              | TGroupMemberIncreaseEvent
              | TGroupMuteEvent
              | TGroupMessageRecallEvent): void;
          notice.group_admin(event: TGroupAdminChangeEvent): void;
          notice.group_ban(event: TGroupMuteEvent): void;
          notice.group_decrease(event: TGroupMemberDecreaseEvent): void;
          notice.group_increase(event: TGroupMemberIncreaseEvent): void;
          notice.group_recall(event: TGroupMessageRecallEvent): void;
          notice.group_upload(event: TGroupFileUploadEvent): void;
      } & {
          request(event: TFriendAddInviteEvent | [event: TMemberAddOrInviteEvent]): void;
      } & {
          request(event: TFriendAddInviteEvent): void;
          request.friend(event: TFriendAddInviteEvent): void;
      } & {
          request(event: TMemberAddOrInviteEvent): void;
          request.group.add(event: TBaseEvent & {
              comment: string;
              flag: string;
              post_type: "request";
              request_type: "group" | "friend";
              user_id: number;
          } & {
              group_id: number;
              request_type: "group";
              sub_type: "add" | "invite";
              approve(isApprove?: boolean, reason?: string): void;
          } & {
              sub_type: "add";
          }): void;
          request.group.invite(event: TBaseEvent & {
              comment: string;
              flag: string;
              post_type: "request";
              request_type: "group" | "friend";
              user_id: number;
          } & {
              group_id: number;
              request_type: "group";
              sub_type: "add" | "invite";
              approve(isApprove?: boolean, reason?: string): void;
          } & {
              sub_type: "invite";
          }): void;
      } & TBaseClientEventMap>[Extract<T,
          | "message.private"
          | "message.private.friend"
          | "message.private.group"
          | "message.private.other"
          | "message.group"
          | "message.group.normal"
          | "message.group.anonymous"
          | "message.group.notice"
          | "notice"
          | "notice.friend_add"
          | "notice.friend_recall"
          | "notice.group_upload"
          | "notice.group_admin"
          | "notice.group_decrease"
          | "notice.group_increase"
          | "notice.group_ban"
          | "notice.group_recall"
          | "request"
          | "request.friend"
          | "request.group.add"
          | "request.group.invite"
          | "data"
          | "message"
          | "error"
          | "open"
          | "close">]) => void)
        • (...args): void
        • Parameters

          • Rest...args: ArgumentMap<{
                message(event: TPrivateMessageEvent | TGroupMemberSender): void;
            } & {
                message.private(event: TPrivateMessageEvent): void;
                message.private.friend(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    message_type: "private";
                    sender: TStrangerInfo;
                    sub_type: "group" | "friend" | "other";
                } & {
                    sub_type: "friend";
                }): void;
                message.private.group(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    message_type: "private";
                    sender: TStrangerInfo;
                    sub_type: "group" | "friend" | "other";
                } & {
                    sub_type: "group";
                }): void;
                message.private.other(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    message_type: "private";
                    sender: TStrangerInfo;
                    sub_type: "group" | "friend" | "other";
                } & {
                    sub_type: "other";
                }): void;
            } & {
                message.group(event: TGroupMessageEvent): void;
                message.group.anonymous(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    anonymous: null | TAnonymous;
                    group_id: number;
                    message_type: "group";
                    sender: TGroupMemberSender;
                    sub_type: "notice" | "normal" | "anonymous";
                    kick(): void;
                    mute(ban_duration?: number): void;
                    recall(): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                } & {
                    sub_type: "anonymous";
                }): void;
                message.group.normal(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    anonymous: null | TAnonymous;
                    group_id: number;
                    message_type: "group";
                    sender: TGroupMemberSender;
                    sub_type: "notice" | "normal" | "anonymous";
                    kick(): void;
                    mute(ban_duration?: number): void;
                    recall(): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                } & {
                    sub_type: "normal";
                }): void;
                message.group.notice(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    anonymous: null | TAnonymous;
                    group_id: number;
                    message_type: "group";
                    sender: TGroupMemberSender;
                    sub_type: "notice" | "normal" | "anonymous";
                    kick(): void;
                    mute(ban_duration?: number): void;
                    recall(): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                } & {
                    sub_type: "notice";
                }): void;
            } & {
                notice(event:
                    | TGroupFileUploadEvent
                    | TGroupAdminChangeEvent
                    | TGroupMemberDecreaseEvent
                    | TGroupMemberIncreaseEvent
                    | TGroupMuteEvent
                    | TGroupMessageRecallEvent
                    | TFriendAddEvent
                    | TFriendMessageRecallevent): void;
            } & {
                notice(event: TFriendAddEvent | TFriendMessageRecallevent): void;
                notice.friend_add(event: TFriendAddEvent): void;
                notice.friend_recall(event: TFriendMessageRecallevent): void;
            } & {
                notice(event:
                    | TGroupFileUploadEvent
                    | TGroupAdminChangeEvent
                    | TGroupMemberDecreaseEvent
                    | TGroupMemberIncreaseEvent
                    | TGroupMuteEvent
                    | TGroupMessageRecallEvent): void;
                notice.group_admin(event: TGroupAdminChangeEvent): void;
                notice.group_ban(event: TGroupMuteEvent): void;
                notice.group_decrease(event: TGroupMemberDecreaseEvent): void;
                notice.group_increase(event: TGroupMemberIncreaseEvent): void;
                notice.group_recall(event: TGroupMessageRecallEvent): void;
                notice.group_upload(event: TGroupFileUploadEvent): void;
            } & {
                request(event: TFriendAddInviteEvent | [event: TMemberAddOrInviteEvent]): void;
            } & {
                request(event: TFriendAddInviteEvent): void;
                request.friend(event: TFriendAddInviteEvent): void;
            } & {
                request(event: TMemberAddOrInviteEvent): void;
                request.group.add(event: TBaseEvent & {
                    comment: string;
                    flag: string;
                    post_type: "request";
                    request_type: "group" | "friend";
                    user_id: number;
                } & {
                    group_id: number;
                    request_type: "group";
                    sub_type: "add" | "invite";
                    approve(isApprove?: boolean, reason?: string): void;
                } & {
                    sub_type: "add";
                }): void;
                request.group.invite(event: TBaseEvent & {
                    comment: string;
                    flag: string;
                    post_type: "request";
                    request_type: "group" | "friend";
                    user_id: number;
                } & {
                    group_id: number;
                    request_type: "group";
                    sub_type: "add" | "invite";
                    approve(isApprove?: boolean, reason?: string): void;
                } & {
                    sub_type: "invite";
                }): void;
            } & TBaseClientEventMap>[Extract<T,
                | "message.private"
                | "message.private.friend"
                | "message.private.group"
                | "message.private.other"
                | "message.group"
                | "message.group.normal"
                | "message.group.anonymous"
                | "message.group.notice"
                | "notice"
                | "notice.friend_add"
                | "notice.friend_recall"
                | "notice.group_upload"
                | "notice.group_admin"
                | "notice.group_decrease"
                | "notice.group_increase"
                | "notice.group_ban"
                | "notice.group_recall"
                | "request"
                | "request.friend"
                | "request.group.add"
                | "request.group.invite"
                | "data"
                | "message"
                | "error"
                | "open"
                | "close">]

          Returns void

    • Optionalcontext: any

    Returns this

  • Calls each of the listeners registered for a given event.

    Type Parameters

    • T extends
          | "message.private"
          | "message.private.friend"
          | "message.private.group"
          | "message.private.other"
          | "message.group"
          | "message.group.normal"
          | "message.group.anonymous"
          | "message.group.notice"
          | "notice"
          | "notice.friend_add"
          | "notice.friend_recall"
          | "notice.group_upload"
          | "notice.group_admin"
          | "notice.group_decrease"
          | "notice.group_increase"
          | "notice.group_ban"
          | "notice.group_recall"
          | "request"
          | "request.friend"
          | "request.group.add"
          | "request.group.invite"
          | "data"
          | "message"
          | "error"
          | "open"
          | "close"

    Parameters

    • event: T
    • Rest...args: ArgumentMap<{
          message(event: TPrivateMessageEvent | TGroupMemberSender): void;
      } & {
          message.private(event: TPrivateMessageEvent): void;
          message.private.friend(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              message_type: "private";
              sender: TStrangerInfo;
              sub_type: "group" | "friend" | "other";
          } & {
              sub_type: "friend";
          }): void;
          message.private.group(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              message_type: "private";
              sender: TStrangerInfo;
              sub_type: "group" | "friend" | "other";
          } & {
              sub_type: "group";
          }): void;
          message.private.other(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              message_type: "private";
              sender: TStrangerInfo;
              sub_type: "group" | "friend" | "other";
          } & {
              sub_type: "other";
          }): void;
      } & {
          message.group(event: TGroupMessageEvent): void;
          message.group.anonymous(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              anonymous: null | TAnonymous;
              group_id: number;
              message_type: "group";
              sender: TGroupMemberSender;
              sub_type: "notice" | "normal" | "anonymous";
              kick(): void;
              mute(ban_duration?: number): void;
              recall(): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
          } & {
              sub_type: "anonymous";
          }): void;
          message.group.normal(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              anonymous: null | TAnonymous;
              group_id: number;
              message_type: "group";
              sender: TGroupMemberSender;
              sub_type: "notice" | "normal" | "anonymous";
              kick(): void;
              mute(ban_duration?: number): void;
              recall(): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
          } & {
              sub_type: "normal";
          }): void;
          message.group.notice(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              anonymous: null | TAnonymous;
              group_id: number;
              message_type: "group";
              sender: TGroupMemberSender;
              sub_type: "notice" | "normal" | "anonymous";
              kick(): void;
              mute(ban_duration?: number): void;
              recall(): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
          } & {
              sub_type: "notice";
          }): void;
      } & {
          notice(event:
              | TGroupFileUploadEvent
              | TGroupAdminChangeEvent
              | TGroupMemberDecreaseEvent
              | TGroupMemberIncreaseEvent
              | TGroupMuteEvent
              | TGroupMessageRecallEvent
              | TFriendAddEvent
              | TFriendMessageRecallevent): void;
      } & {
          notice(event: TFriendAddEvent | TFriendMessageRecallevent): void;
          notice.friend_add(event: TFriendAddEvent): void;
          notice.friend_recall(event: TFriendMessageRecallevent): void;
      } & {
          notice(event:
              | TGroupFileUploadEvent
              | TGroupAdminChangeEvent
              | TGroupMemberDecreaseEvent
              | TGroupMemberIncreaseEvent
              | TGroupMuteEvent
              | TGroupMessageRecallEvent): void;
          notice.group_admin(event: TGroupAdminChangeEvent): void;
          notice.group_ban(event: TGroupMuteEvent): void;
          notice.group_decrease(event: TGroupMemberDecreaseEvent): void;
          notice.group_increase(event: TGroupMemberIncreaseEvent): void;
          notice.group_recall(event: TGroupMessageRecallEvent): void;
          notice.group_upload(event: TGroupFileUploadEvent): void;
      } & {
          request(event: TFriendAddInviteEvent | [event: TMemberAddOrInviteEvent]): void;
      } & {
          request(event: TFriendAddInviteEvent): void;
          request.friend(event: TFriendAddInviteEvent): void;
      } & {
          request(event: TMemberAddOrInviteEvent): void;
          request.group.add(event: TBaseEvent & {
              comment: string;
              flag: string;
              post_type: "request";
              request_type: "group" | "friend";
              user_id: number;
          } & {
              group_id: number;
              request_type: "group";
              sub_type: "add" | "invite";
              approve(isApprove?: boolean, reason?: string): void;
          } & {
              sub_type: "add";
          }): void;
          request.group.invite(event: TBaseEvent & {
              comment: string;
              flag: string;
              post_type: "request";
              request_type: "group" | "friend";
              user_id: number;
          } & {
              group_id: number;
              request_type: "group";
              sub_type: "add" | "invite";
              approve(isApprove?: boolean, reason?: string): void;
          } & {
              sub_type: "invite";
          }): void;
      } & TBaseClientEventMap>[Extract<T,
          | "message.private"
          | "message.private.friend"
          | "message.private.group"
          | "message.private.other"
          | "message.group"
          | "message.group.normal"
          | "message.group.anonymous"
          | "message.group.notice"
          | "notice"
          | "notice.friend_add"
          | "notice.friend_recall"
          | "notice.group_upload"
          | "notice.group_admin"
          | "notice.group_decrease"
          | "notice.group_increase"
          | "notice.group_ban"
          | "notice.group_recall"
          | "request"
          | "request.friend"
          | "request.group.add"
          | "request.group.invite"
          | "data"
          | "message"
          | "error"
          | "open"
          | "close">]

    Returns boolean

  • Return an array listing the events for which the emitter has registered listeners.

    Returns (
        | "message.private"
        | "message.private.friend"
        | "message.private.group"
        | "message.private.other"
        | "message.group"
        | "message.group.normal"
        | "message.group.anonymous"
        | "message.group.notice"
        | "notice"
        | "notice.friend_add"
        | "notice.friend_recall"
        | "notice.group_upload"
        | "notice.group_admin"
        | "notice.group_decrease"
        | "notice.group_increase"
        | "notice.group_ban"
        | "notice.group_recall"
        | "request"
        | "request.friend"
        | "request.group.add"
        | "request.group.invite"
        | "data"
        | "message"
        | "error"
        | "open"
        | "close")[]

  • Return the number of listeners listening to a given event.

    Parameters

    • event:
          | "message.private"
          | "message.private.friend"
          | "message.private.group"
          | "message.private.other"
          | "message.group"
          | "message.group.normal"
          | "message.group.anonymous"
          | "message.group.notice"
          | "notice"
          | "notice.friend_add"
          | "notice.friend_recall"
          | "notice.group_upload"
          | "notice.group_admin"
          | "notice.group_decrease"
          | "notice.group_increase"
          | "notice.group_ban"
          | "notice.group_recall"
          | "request"
          | "request.friend"
          | "request.group.add"
          | "request.group.invite"
          | "data"
          | "message"
          | "error"
          | "open"
          | "close"

    Returns number

  • Return the listeners registered for a given event.

    Type Parameters

    • T extends
          | "message.private"
          | "message.private.friend"
          | "message.private.group"
          | "message.private.other"
          | "message.group"
          | "message.group.normal"
          | "message.group.anonymous"
          | "message.group.notice"
          | "notice"
          | "notice.friend_add"
          | "notice.friend_recall"
          | "notice.group_upload"
          | "notice.group_admin"
          | "notice.group_decrease"
          | "notice.group_increase"
          | "notice.group_ban"
          | "notice.group_recall"
          | "request"
          | "request.friend"
          | "request.group.add"
          | "request.group.invite"
          | "data"
          | "message"
          | "error"
          | "open"
          | "close"

    Parameters

    • event: T

    Returns ((...args: ArgumentMap<{
        message(event: TPrivateMessageEvent | TGroupMemberSender): void;
    } & {
        message.private(event: TPrivateMessageEvent): void;
        message.private.friend(event: TBaseEvent & {
            font: number;
            message: TElements;
            message_id: number;
            message_type: "private" | "group";
            post_type: "message";
            raw_message: string;
            sub_type: string;
            user_id: number;
            forwardMessage(target_id: number): void;
            reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
            replyViaEmoji(emoji_id: number): void;
        } & {
            message_type: "private";
            sender: TStrangerInfo;
            sub_type: "group" | "friend" | "other";
        } & {
            sub_type: "friend";
        }): void;
        message.private.group(event: TBaseEvent & {
            font: number;
            message: TElements;
            message_id: number;
            message_type: "private" | "group";
            post_type: "message";
            raw_message: string;
            sub_type: string;
            user_id: number;
            forwardMessage(target_id: number): void;
            reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
            replyViaEmoji(emoji_id: number): void;
        } & {
            message_type: "private";
            sender: TStrangerInfo;
            sub_type: "group" | "friend" | "other";
        } & {
            sub_type: "group";
        }): void;
        message.private.other(event: TBaseEvent & {
            font: number;
            message: TElements;
            message_id: number;
            message_type: "private" | "group";
            post_type: "message";
            raw_message: string;
            sub_type: string;
            user_id: number;
            forwardMessage(target_id: number): void;
            reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
            replyViaEmoji(emoji_id: number): void;
        } & {
            message_type: "private";
            sender: TStrangerInfo;
            sub_type: "group" | "friend" | "other";
        } & {
            sub_type: "other";
        }): void;
    } & {
        message.group(event: TGroupMessageEvent): void;
        message.group.anonymous(event: TBaseEvent & {
            font: number;
            message: TElements;
            message_id: number;
            message_type: "private" | "group";
            post_type: "message";
            raw_message: string;
            sub_type: string;
            user_id: number;
            forwardMessage(target_id: number): void;
            reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
            replyViaEmoji(emoji_id: number): void;
        } & {
            anonymous: null | TAnonymous;
            group_id: number;
            message_type: "group";
            sender: TGroupMemberSender;
            sub_type: "notice" | "normal" | "anonymous";
            kick(): void;
            mute(ban_duration?: number): void;
            recall(): void;
            reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
        } & {
            sub_type: "anonymous";
        }): void;
        message.group.normal(event: TBaseEvent & {
            font: number;
            message: TElements;
            message_id: number;
            message_type: "private" | "group";
            post_type: "message";
            raw_message: string;
            sub_type: string;
            user_id: number;
            forwardMessage(target_id: number): void;
            reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
            replyViaEmoji(emoji_id: number): void;
        } & {
            anonymous: null | TAnonymous;
            group_id: number;
            message_type: "group";
            sender: TGroupMemberSender;
            sub_type: "notice" | "normal" | "anonymous";
            kick(): void;
            mute(ban_duration?: number): void;
            recall(): void;
            reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
        } & {
            sub_type: "normal";
        }): void;
        message.group.notice(event: TBaseEvent & {
            font: number;
            message: TElements;
            message_id: number;
            message_type: "private" | "group";
            post_type: "message";
            raw_message: string;
            sub_type: string;
            user_id: number;
            forwardMessage(target_id: number): void;
            reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
            replyViaEmoji(emoji_id: number): void;
        } & {
            anonymous: null | TAnonymous;
            group_id: number;
            message_type: "group";
            sender: TGroupMemberSender;
            sub_type: "notice" | "normal" | "anonymous";
            kick(): void;
            mute(ban_duration?: number): void;
            recall(): void;
            reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
        } & {
            sub_type: "notice";
        }): void;
    } & {
        notice(event:
            | TGroupFileUploadEvent
            | TGroupAdminChangeEvent
            | TGroupMemberDecreaseEvent
            | TGroupMemberIncreaseEvent
            | TGroupMuteEvent
            | TGroupMessageRecallEvent
            | TFriendAddEvent
            | TFriendMessageRecallevent): void;
    } & {
        notice(event: TFriendAddEvent | TFriendMessageRecallevent): void;
        notice.friend_add(event: TFriendAddEvent): void;
        notice.friend_recall(event: TFriendMessageRecallevent): void;
    } & {
        notice(event:
            | TGroupFileUploadEvent
            | TGroupAdminChangeEvent
            | TGroupMemberDecreaseEvent
            | TGroupMemberIncreaseEvent
            | TGroupMuteEvent
            | TGroupMessageRecallEvent): void;
        notice.group_admin(event: TGroupAdminChangeEvent): void;
        notice.group_ban(event: TGroupMuteEvent): void;
        notice.group_decrease(event: TGroupMemberDecreaseEvent): void;
        notice.group_increase(event: TGroupMemberIncreaseEvent): void;
        notice.group_recall(event: TGroupMessageRecallEvent): void;
        notice.group_upload(event: TGroupFileUploadEvent): void;
    } & {
        request(event: TFriendAddInviteEvent | [event: TMemberAddOrInviteEvent]): void;
    } & {
        request(event: TFriendAddInviteEvent): void;
        request.friend(event: TFriendAddInviteEvent): void;
    } & {
        request(event: TMemberAddOrInviteEvent): void;
        request.group.add(event: TBaseEvent & {
            comment: string;
            flag: string;
            post_type: "request";
            request_type: "group" | "friend";
            user_id: number;
        } & {
            group_id: number;
            request_type: "group";
            sub_type: "add" | "invite";
            approve(isApprove?: boolean, reason?: string): void;
        } & {
            sub_type: "add";
        }): void;
        request.group.invite(event: TBaseEvent & {
            comment: string;
            flag: string;
            post_type: "request";
            request_type: "group" | "friend";
            user_id: number;
        } & {
            group_id: number;
            request_type: "group";
            sub_type: "add" | "invite";
            approve(isApprove?: boolean, reason?: string): void;
        } & {
            sub_type: "invite";
        }): void;
    } & TBaseClientEventMap>[Extract<T,
        | "message.private"
        | "message.private.friend"
        | "message.private.group"
        | "message.private.other"
        | "message.group"
        | "message.group.normal"
        | "message.group.anonymous"
        | "message.group.notice"
        | "notice"
        | "notice.friend_add"
        | "notice.friend_recall"
        | "notice.group_upload"
        | "notice.group_admin"
        | "notice.group_decrease"
        | "notice.group_increase"
        | "notice.group_ban"
        | "notice.group_recall"
        | "request"
        | "request.friend"
        | "request.group.add"
        | "request.group.invite"
        | "data"
        | "message"
        | "error"
        | "open"
        | "close">]) => void)[]

  • Type Parameters

    • T extends
          | "message.private"
          | "message.private.friend"
          | "message.private.group"
          | "message.private.other"
          | "message.group"
          | "message.group.normal"
          | "message.group.anonymous"
          | "message.group.notice"
          | "notice"
          | "notice.friend_add"
          | "notice.friend_recall"
          | "notice.group_upload"
          | "notice.group_admin"
          | "notice.group_decrease"
          | "notice.group_increase"
          | "notice.group_ban"
          | "notice.group_recall"
          | "request"
          | "request.friend"
          | "request.group.add"
          | "request.group.invite"
          | "data"
          | "message"
          | "error"
          | "open"
          | "close"

    Parameters

    • event: T
    • Optionalfn: ((...args: ArgumentMap<{
          message(event: TPrivateMessageEvent | TGroupMemberSender): void;
      } & {
          message.private(event: TPrivateMessageEvent): void;
          message.private.friend(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              message_type: "private";
              sender: TStrangerInfo;
              sub_type: "group" | "friend" | "other";
          } & {
              sub_type: "friend";
          }): void;
          message.private.group(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              message_type: "private";
              sender: TStrangerInfo;
              sub_type: "group" | "friend" | "other";
          } & {
              sub_type: "group";
          }): void;
          message.private.other(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              message_type: "private";
              sender: TStrangerInfo;
              sub_type: "group" | "friend" | "other";
          } & {
              sub_type: "other";
          }): void;
      } & {
          message.group(event: TGroupMessageEvent): void;
          message.group.anonymous(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              anonymous: null | TAnonymous;
              group_id: number;
              message_type: "group";
              sender: TGroupMemberSender;
              sub_type: "notice" | "normal" | "anonymous";
              kick(): void;
              mute(ban_duration?: number): void;
              recall(): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
          } & {
              sub_type: "anonymous";
          }): void;
          message.group.normal(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              anonymous: null | TAnonymous;
              group_id: number;
              message_type: "group";
              sender: TGroupMemberSender;
              sub_type: "notice" | "normal" | "anonymous";
              kick(): void;
              mute(ban_duration?: number): void;
              recall(): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
          } & {
              sub_type: "normal";
          }): void;
          message.group.notice(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              anonymous: null | TAnonymous;
              group_id: number;
              message_type: "group";
              sender: TGroupMemberSender;
              sub_type: "notice" | "normal" | "anonymous";
              kick(): void;
              mute(ban_duration?: number): void;
              recall(): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
          } & {
              sub_type: "notice";
          }): void;
      } & {
          notice(event:
              | TGroupFileUploadEvent
              | TGroupAdminChangeEvent
              | TGroupMemberDecreaseEvent
              | TGroupMemberIncreaseEvent
              | TGroupMuteEvent
              | TGroupMessageRecallEvent
              | TFriendAddEvent
              | TFriendMessageRecallevent): void;
      } & {
          notice(event: TFriendAddEvent | TFriendMessageRecallevent): void;
          notice.friend_add(event: TFriendAddEvent): void;
          notice.friend_recall(event: TFriendMessageRecallevent): void;
      } & {
          notice(event:
              | TGroupFileUploadEvent
              | TGroupAdminChangeEvent
              | TGroupMemberDecreaseEvent
              | TGroupMemberIncreaseEvent
              | TGroupMuteEvent
              | TGroupMessageRecallEvent): void;
          notice.group_admin(event: TGroupAdminChangeEvent): void;
          notice.group_ban(event: TGroupMuteEvent): void;
          notice.group_decrease(event: TGroupMemberDecreaseEvent): void;
          notice.group_increase(event: TGroupMemberIncreaseEvent): void;
          notice.group_recall(event: TGroupMessageRecallEvent): void;
          notice.group_upload(event: TGroupFileUploadEvent): void;
      } & {
          request(event: TFriendAddInviteEvent | [event: TMemberAddOrInviteEvent]): void;
      } & {
          request(event: TFriendAddInviteEvent): void;
          request.friend(event: TFriendAddInviteEvent): void;
      } & {
          request(event: TMemberAddOrInviteEvent): void;
          request.group.add(event: TBaseEvent & {
              comment: string;
              flag: string;
              post_type: "request";
              request_type: "group" | "friend";
              user_id: number;
          } & {
              group_id: number;
              request_type: "group";
              sub_type: "add" | "invite";
              approve(isApprove?: boolean, reason?: string): void;
          } & {
              sub_type: "add";
          }): void;
          request.group.invite(event: TBaseEvent & {
              comment: string;
              flag: string;
              post_type: "request";
              request_type: "group" | "friend";
              user_id: number;
          } & {
              group_id: number;
              request_type: "group";
              sub_type: "add" | "invite";
              approve(isApprove?: boolean, reason?: string): void;
          } & {
              sub_type: "invite";
          }): void;
      } & TBaseClientEventMap>[Extract<T,
          | "message.private"
          | "message.private.friend"
          | "message.private.group"
          | "message.private.other"
          | "message.group"
          | "message.group.normal"
          | "message.group.anonymous"
          | "message.group.notice"
          | "notice"
          | "notice.friend_add"
          | "notice.friend_recall"
          | "notice.group_upload"
          | "notice.group_admin"
          | "notice.group_decrease"
          | "notice.group_increase"
          | "notice.group_ban"
          | "notice.group_recall"
          | "request"
          | "request.friend"
          | "request.group.add"
          | "request.group.invite"
          | "data"
          | "message"
          | "error"
          | "open"
          | "close">]) => void)
        • (...args): void
        • Parameters

          • Rest...args: ArgumentMap<{
                message(event: TPrivateMessageEvent | TGroupMemberSender): void;
            } & {
                message.private(event: TPrivateMessageEvent): void;
                message.private.friend(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    message_type: "private";
                    sender: TStrangerInfo;
                    sub_type: "group" | "friend" | "other";
                } & {
                    sub_type: "friend";
                }): void;
                message.private.group(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    message_type: "private";
                    sender: TStrangerInfo;
                    sub_type: "group" | "friend" | "other";
                } & {
                    sub_type: "group";
                }): void;
                message.private.other(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    message_type: "private";
                    sender: TStrangerInfo;
                    sub_type: "group" | "friend" | "other";
                } & {
                    sub_type: "other";
                }): void;
            } & {
                message.group(event: TGroupMessageEvent): void;
                message.group.anonymous(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    anonymous: null | TAnonymous;
                    group_id: number;
                    message_type: "group";
                    sender: TGroupMemberSender;
                    sub_type: "notice" | "normal" | "anonymous";
                    kick(): void;
                    mute(ban_duration?: number): void;
                    recall(): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                } & {
                    sub_type: "anonymous";
                }): void;
                message.group.normal(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    anonymous: null | TAnonymous;
                    group_id: number;
                    message_type: "group";
                    sender: TGroupMemberSender;
                    sub_type: "notice" | "normal" | "anonymous";
                    kick(): void;
                    mute(ban_duration?: number): void;
                    recall(): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                } & {
                    sub_type: "normal";
                }): void;
                message.group.notice(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    anonymous: null | TAnonymous;
                    group_id: number;
                    message_type: "group";
                    sender: TGroupMemberSender;
                    sub_type: "notice" | "normal" | "anonymous";
                    kick(): void;
                    mute(ban_duration?: number): void;
                    recall(): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                } & {
                    sub_type: "notice";
                }): void;
            } & {
                notice(event:
                    | TGroupFileUploadEvent
                    | TGroupAdminChangeEvent
                    | TGroupMemberDecreaseEvent
                    | TGroupMemberIncreaseEvent
                    | TGroupMuteEvent
                    | TGroupMessageRecallEvent
                    | TFriendAddEvent
                    | TFriendMessageRecallevent): void;
            } & {
                notice(event: TFriendAddEvent | TFriendMessageRecallevent): void;
                notice.friend_add(event: TFriendAddEvent): void;
                notice.friend_recall(event: TFriendMessageRecallevent): void;
            } & {
                notice(event:
                    | TGroupFileUploadEvent
                    | TGroupAdminChangeEvent
                    | TGroupMemberDecreaseEvent
                    | TGroupMemberIncreaseEvent
                    | TGroupMuteEvent
                    | TGroupMessageRecallEvent): void;
                notice.group_admin(event: TGroupAdminChangeEvent): void;
                notice.group_ban(event: TGroupMuteEvent): void;
                notice.group_decrease(event: TGroupMemberDecreaseEvent): void;
                notice.group_increase(event: TGroupMemberIncreaseEvent): void;
                notice.group_recall(event: TGroupMessageRecallEvent): void;
                notice.group_upload(event: TGroupFileUploadEvent): void;
            } & {
                request(event: TFriendAddInviteEvent | [event: TMemberAddOrInviteEvent]): void;
            } & {
                request(event: TFriendAddInviteEvent): void;
                request.friend(event: TFriendAddInviteEvent): void;
            } & {
                request(event: TMemberAddOrInviteEvent): void;
                request.group.add(event: TBaseEvent & {
                    comment: string;
                    flag: string;
                    post_type: "request";
                    request_type: "group" | "friend";
                    user_id: number;
                } & {
                    group_id: number;
                    request_type: "group";
                    sub_type: "add" | "invite";
                    approve(isApprove?: boolean, reason?: string): void;
                } & {
                    sub_type: "add";
                }): void;
                request.group.invite(event: TBaseEvent & {
                    comment: string;
                    flag: string;
                    post_type: "request";
                    request_type: "group" | "friend";
                    user_id: number;
                } & {
                    group_id: number;
                    request_type: "group";
                    sub_type: "add" | "invite";
                    approve(isApprove?: boolean, reason?: string): void;
                } & {
                    sub_type: "invite";
                }): void;
            } & TBaseClientEventMap>[Extract<T,
                | "message.private"
                | "message.private.friend"
                | "message.private.group"
                | "message.private.other"
                | "message.group"
                | "message.group.normal"
                | "message.group.anonymous"
                | "message.group.notice"
                | "notice"
                | "notice.friend_add"
                | "notice.friend_recall"
                | "notice.group_upload"
                | "notice.group_admin"
                | "notice.group_decrease"
                | "notice.group_increase"
                | "notice.group_ban"
                | "notice.group_recall"
                | "request"
                | "request.friend"
                | "request.group.add"
                | "request.group.invite"
                | "data"
                | "message"
                | "error"
                | "open"
                | "close">]

          Returns void

    • Optionalcontext: any
    • Optionalonce: boolean

    Returns this

  • Add a listener for a given event.

    Type Parameters

    • T extends
          | "message.private"
          | "message.private.friend"
          | "message.private.group"
          | "message.private.other"
          | "message.group"
          | "message.group.normal"
          | "message.group.anonymous"
          | "message.group.notice"
          | "notice"
          | "notice.friend_add"
          | "notice.friend_recall"
          | "notice.group_upload"
          | "notice.group_admin"
          | "notice.group_decrease"
          | "notice.group_increase"
          | "notice.group_ban"
          | "notice.group_recall"
          | "request"
          | "request.friend"
          | "request.group.add"
          | "request.group.invite"
          | "data"
          | "message"
          | "error"
          | "open"
          | "close"

    Parameters

    • event: T
    • fn: ((...args: ArgumentMap<{
          message(event: TPrivateMessageEvent | TGroupMemberSender): void;
      } & {
          message.private(event: TPrivateMessageEvent): void;
          message.private.friend(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              message_type: "private";
              sender: TStrangerInfo;
              sub_type: "group" | "friend" | "other";
          } & {
              sub_type: "friend";
          }): void;
          message.private.group(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              message_type: "private";
              sender: TStrangerInfo;
              sub_type: "group" | "friend" | "other";
          } & {
              sub_type: "group";
          }): void;
          message.private.other(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              message_type: "private";
              sender: TStrangerInfo;
              sub_type: "group" | "friend" | "other";
          } & {
              sub_type: "other";
          }): void;
      } & {
          message.group(event: TGroupMessageEvent): void;
          message.group.anonymous(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              anonymous: null | TAnonymous;
              group_id: number;
              message_type: "group";
              sender: TGroupMemberSender;
              sub_type: "notice" | "normal" | "anonymous";
              kick(): void;
              mute(ban_duration?: number): void;
              recall(): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
          } & {
              sub_type: "anonymous";
          }): void;
          message.group.normal(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              anonymous: null | TAnonymous;
              group_id: number;
              message_type: "group";
              sender: TGroupMemberSender;
              sub_type: "notice" | "normal" | "anonymous";
              kick(): void;
              mute(ban_duration?: number): void;
              recall(): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
          } & {
              sub_type: "normal";
          }): void;
          message.group.notice(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              anonymous: null | TAnonymous;
              group_id: number;
              message_type: "group";
              sender: TGroupMemberSender;
              sub_type: "notice" | "normal" | "anonymous";
              kick(): void;
              mute(ban_duration?: number): void;
              recall(): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
          } & {
              sub_type: "notice";
          }): void;
      } & {
          notice(event:
              | TGroupFileUploadEvent
              | TGroupAdminChangeEvent
              | TGroupMemberDecreaseEvent
              | TGroupMemberIncreaseEvent
              | TGroupMuteEvent
              | TGroupMessageRecallEvent
              | TFriendAddEvent
              | TFriendMessageRecallevent): void;
      } & {
          notice(event: TFriendAddEvent | TFriendMessageRecallevent): void;
          notice.friend_add(event: TFriendAddEvent): void;
          notice.friend_recall(event: TFriendMessageRecallevent): void;
      } & {
          notice(event:
              | TGroupFileUploadEvent
              | TGroupAdminChangeEvent
              | TGroupMemberDecreaseEvent
              | TGroupMemberIncreaseEvent
              | TGroupMuteEvent
              | TGroupMessageRecallEvent): void;
          notice.group_admin(event: TGroupAdminChangeEvent): void;
          notice.group_ban(event: TGroupMuteEvent): void;
          notice.group_decrease(event: TGroupMemberDecreaseEvent): void;
          notice.group_increase(event: TGroupMemberIncreaseEvent): void;
          notice.group_recall(event: TGroupMessageRecallEvent): void;
          notice.group_upload(event: TGroupFileUploadEvent): void;
      } & {
          request(event: TFriendAddInviteEvent | [event: TMemberAddOrInviteEvent]): void;
      } & {
          request(event: TFriendAddInviteEvent): void;
          request.friend(event: TFriendAddInviteEvent): void;
      } & {
          request(event: TMemberAddOrInviteEvent): void;
          request.group.add(event: TBaseEvent & {
              comment: string;
              flag: string;
              post_type: "request";
              request_type: "group" | "friend";
              user_id: number;
          } & {
              group_id: number;
              request_type: "group";
              sub_type: "add" | "invite";
              approve(isApprove?: boolean, reason?: string): void;
          } & {
              sub_type: "add";
          }): void;
          request.group.invite(event: TBaseEvent & {
              comment: string;
              flag: string;
              post_type: "request";
              request_type: "group" | "friend";
              user_id: number;
          } & {
              group_id: number;
              request_type: "group";
              sub_type: "add" | "invite";
              approve(isApprove?: boolean, reason?: string): void;
          } & {
              sub_type: "invite";
          }): void;
      } & TBaseClientEventMap>[Extract<T,
          | "message.private"
          | "message.private.friend"
          | "message.private.group"
          | "message.private.other"
          | "message.group"
          | "message.group.normal"
          | "message.group.anonymous"
          | "message.group.notice"
          | "notice"
          | "notice.friend_add"
          | "notice.friend_recall"
          | "notice.group_upload"
          | "notice.group_admin"
          | "notice.group_decrease"
          | "notice.group_increase"
          | "notice.group_ban"
          | "notice.group_recall"
          | "request"
          | "request.friend"
          | "request.group.add"
          | "request.group.invite"
          | "data"
          | "message"
          | "error"
          | "open"
          | "close">]) => void)
        • (...args): void
        • Parameters

          • Rest...args: ArgumentMap<{
                message(event: TPrivateMessageEvent | TGroupMemberSender): void;
            } & {
                message.private(event: TPrivateMessageEvent): void;
                message.private.friend(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    message_type: "private";
                    sender: TStrangerInfo;
                    sub_type: "group" | "friend" | "other";
                } & {
                    sub_type: "friend";
                }): void;
                message.private.group(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    message_type: "private";
                    sender: TStrangerInfo;
                    sub_type: "group" | "friend" | "other";
                } & {
                    sub_type: "group";
                }): void;
                message.private.other(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    message_type: "private";
                    sender: TStrangerInfo;
                    sub_type: "group" | "friend" | "other";
                } & {
                    sub_type: "other";
                }): void;
            } & {
                message.group(event: TGroupMessageEvent): void;
                message.group.anonymous(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    anonymous: null | TAnonymous;
                    group_id: number;
                    message_type: "group";
                    sender: TGroupMemberSender;
                    sub_type: "notice" | "normal" | "anonymous";
                    kick(): void;
                    mute(ban_duration?: number): void;
                    recall(): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                } & {
                    sub_type: "anonymous";
                }): void;
                message.group.normal(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    anonymous: null | TAnonymous;
                    group_id: number;
                    message_type: "group";
                    sender: TGroupMemberSender;
                    sub_type: "notice" | "normal" | "anonymous";
                    kick(): void;
                    mute(ban_duration?: number): void;
                    recall(): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                } & {
                    sub_type: "normal";
                }): void;
                message.group.notice(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    anonymous: null | TAnonymous;
                    group_id: number;
                    message_type: "group";
                    sender: TGroupMemberSender;
                    sub_type: "notice" | "normal" | "anonymous";
                    kick(): void;
                    mute(ban_duration?: number): void;
                    recall(): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                } & {
                    sub_type: "notice";
                }): void;
            } & {
                notice(event:
                    | TGroupFileUploadEvent
                    | TGroupAdminChangeEvent
                    | TGroupMemberDecreaseEvent
                    | TGroupMemberIncreaseEvent
                    | TGroupMuteEvent
                    | TGroupMessageRecallEvent
                    | TFriendAddEvent
                    | TFriendMessageRecallevent): void;
            } & {
                notice(event: TFriendAddEvent | TFriendMessageRecallevent): void;
                notice.friend_add(event: TFriendAddEvent): void;
                notice.friend_recall(event: TFriendMessageRecallevent): void;
            } & {
                notice(event:
                    | TGroupFileUploadEvent
                    | TGroupAdminChangeEvent
                    | TGroupMemberDecreaseEvent
                    | TGroupMemberIncreaseEvent
                    | TGroupMuteEvent
                    | TGroupMessageRecallEvent): void;
                notice.group_admin(event: TGroupAdminChangeEvent): void;
                notice.group_ban(event: TGroupMuteEvent): void;
                notice.group_decrease(event: TGroupMemberDecreaseEvent): void;
                notice.group_increase(event: TGroupMemberIncreaseEvent): void;
                notice.group_recall(event: TGroupMessageRecallEvent): void;
                notice.group_upload(event: TGroupFileUploadEvent): void;
            } & {
                request(event: TFriendAddInviteEvent | [event: TMemberAddOrInviteEvent]): void;
            } & {
                request(event: TFriendAddInviteEvent): void;
                request.friend(event: TFriendAddInviteEvent): void;
            } & {
                request(event: TMemberAddOrInviteEvent): void;
                request.group.add(event: TBaseEvent & {
                    comment: string;
                    flag: string;
                    post_type: "request";
                    request_type: "group" | "friend";
                    user_id: number;
                } & {
                    group_id: number;
                    request_type: "group";
                    sub_type: "add" | "invite";
                    approve(isApprove?: boolean, reason?: string): void;
                } & {
                    sub_type: "add";
                }): void;
                request.group.invite(event: TBaseEvent & {
                    comment: string;
                    flag: string;
                    post_type: "request";
                    request_type: "group" | "friend";
                    user_id: number;
                } & {
                    group_id: number;
                    request_type: "group";
                    sub_type: "add" | "invite";
                    approve(isApprove?: boolean, reason?: string): void;
                } & {
                    sub_type: "invite";
                }): void;
            } & TBaseClientEventMap>[Extract<T,
                | "message.private"
                | "message.private.friend"
                | "message.private.group"
                | "message.private.other"
                | "message.group"
                | "message.group.normal"
                | "message.group.anonymous"
                | "message.group.notice"
                | "notice"
                | "notice.friend_add"
                | "notice.friend_recall"
                | "notice.group_upload"
                | "notice.group_admin"
                | "notice.group_decrease"
                | "notice.group_increase"
                | "notice.group_ban"
                | "notice.group_recall"
                | "request"
                | "request.friend"
                | "request.group.add"
                | "request.group.invite"
                | "data"
                | "message"
                | "error"
                | "open"
                | "close">]

          Returns void

    • Optionalcontext: any

    Returns this

  • Add a one-time listener for a given event.

    Type Parameters

    • T extends
          | "message.private"
          | "message.private.friend"
          | "message.private.group"
          | "message.private.other"
          | "message.group"
          | "message.group.normal"
          | "message.group.anonymous"
          | "message.group.notice"
          | "notice"
          | "notice.friend_add"
          | "notice.friend_recall"
          | "notice.group_upload"
          | "notice.group_admin"
          | "notice.group_decrease"
          | "notice.group_increase"
          | "notice.group_ban"
          | "notice.group_recall"
          | "request"
          | "request.friend"
          | "request.group.add"
          | "request.group.invite"
          | "data"
          | "message"
          | "error"
          | "open"
          | "close"

    Parameters

    • event: T
    • fn: ((...args: ArgumentMap<{
          message(event: TPrivateMessageEvent | TGroupMemberSender): void;
      } & {
          message.private(event: TPrivateMessageEvent): void;
          message.private.friend(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              message_type: "private";
              sender: TStrangerInfo;
              sub_type: "group" | "friend" | "other";
          } & {
              sub_type: "friend";
          }): void;
          message.private.group(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              message_type: "private";
              sender: TStrangerInfo;
              sub_type: "group" | "friend" | "other";
          } & {
              sub_type: "group";
          }): void;
          message.private.other(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              message_type: "private";
              sender: TStrangerInfo;
              sub_type: "group" | "friend" | "other";
          } & {
              sub_type: "other";
          }): void;
      } & {
          message.group(event: TGroupMessageEvent): void;
          message.group.anonymous(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              anonymous: null | TAnonymous;
              group_id: number;
              message_type: "group";
              sender: TGroupMemberSender;
              sub_type: "notice" | "normal" | "anonymous";
              kick(): void;
              mute(ban_duration?: number): void;
              recall(): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
          } & {
              sub_type: "anonymous";
          }): void;
          message.group.normal(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              anonymous: null | TAnonymous;
              group_id: number;
              message_type: "group";
              sender: TGroupMemberSender;
              sub_type: "notice" | "normal" | "anonymous";
              kick(): void;
              mute(ban_duration?: number): void;
              recall(): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
          } & {
              sub_type: "normal";
          }): void;
          message.group.notice(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              anonymous: null | TAnonymous;
              group_id: number;
              message_type: "group";
              sender: TGroupMemberSender;
              sub_type: "notice" | "normal" | "anonymous";
              kick(): void;
              mute(ban_duration?: number): void;
              recall(): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
          } & {
              sub_type: "notice";
          }): void;
      } & {
          notice(event:
              | TGroupFileUploadEvent
              | TGroupAdminChangeEvent
              | TGroupMemberDecreaseEvent
              | TGroupMemberIncreaseEvent
              | TGroupMuteEvent
              | TGroupMessageRecallEvent
              | TFriendAddEvent
              | TFriendMessageRecallevent): void;
      } & {
          notice(event: TFriendAddEvent | TFriendMessageRecallevent): void;
          notice.friend_add(event: TFriendAddEvent): void;
          notice.friend_recall(event: TFriendMessageRecallevent): void;
      } & {
          notice(event:
              | TGroupFileUploadEvent
              | TGroupAdminChangeEvent
              | TGroupMemberDecreaseEvent
              | TGroupMemberIncreaseEvent
              | TGroupMuteEvent
              | TGroupMessageRecallEvent): void;
          notice.group_admin(event: TGroupAdminChangeEvent): void;
          notice.group_ban(event: TGroupMuteEvent): void;
          notice.group_decrease(event: TGroupMemberDecreaseEvent): void;
          notice.group_increase(event: TGroupMemberIncreaseEvent): void;
          notice.group_recall(event: TGroupMessageRecallEvent): void;
          notice.group_upload(event: TGroupFileUploadEvent): void;
      } & {
          request(event: TFriendAddInviteEvent | [event: TMemberAddOrInviteEvent]): void;
      } & {
          request(event: TFriendAddInviteEvent): void;
          request.friend(event: TFriendAddInviteEvent): void;
      } & {
          request(event: TMemberAddOrInviteEvent): void;
          request.group.add(event: TBaseEvent & {
              comment: string;
              flag: string;
              post_type: "request";
              request_type: "group" | "friend";
              user_id: number;
          } & {
              group_id: number;
              request_type: "group";
              sub_type: "add" | "invite";
              approve(isApprove?: boolean, reason?: string): void;
          } & {
              sub_type: "add";
          }): void;
          request.group.invite(event: TBaseEvent & {
              comment: string;
              flag: string;
              post_type: "request";
              request_type: "group" | "friend";
              user_id: number;
          } & {
              group_id: number;
              request_type: "group";
              sub_type: "add" | "invite";
              approve(isApprove?: boolean, reason?: string): void;
          } & {
              sub_type: "invite";
          }): void;
      } & TBaseClientEventMap>[Extract<T,
          | "message.private"
          | "message.private.friend"
          | "message.private.group"
          | "message.private.other"
          | "message.group"
          | "message.group.normal"
          | "message.group.anonymous"
          | "message.group.notice"
          | "notice"
          | "notice.friend_add"
          | "notice.friend_recall"
          | "notice.group_upload"
          | "notice.group_admin"
          | "notice.group_decrease"
          | "notice.group_increase"
          | "notice.group_ban"
          | "notice.group_recall"
          | "request"
          | "request.friend"
          | "request.group.add"
          | "request.group.invite"
          | "data"
          | "message"
          | "error"
          | "open"
          | "close">]) => void)
        • (...args): void
        • Parameters

          • Rest...args: ArgumentMap<{
                message(event: TPrivateMessageEvent | TGroupMemberSender): void;
            } & {
                message.private(event: TPrivateMessageEvent): void;
                message.private.friend(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    message_type: "private";
                    sender: TStrangerInfo;
                    sub_type: "group" | "friend" | "other";
                } & {
                    sub_type: "friend";
                }): void;
                message.private.group(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    message_type: "private";
                    sender: TStrangerInfo;
                    sub_type: "group" | "friend" | "other";
                } & {
                    sub_type: "group";
                }): void;
                message.private.other(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    message_type: "private";
                    sender: TStrangerInfo;
                    sub_type: "group" | "friend" | "other";
                } & {
                    sub_type: "other";
                }): void;
            } & {
                message.group(event: TGroupMessageEvent): void;
                message.group.anonymous(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    anonymous: null | TAnonymous;
                    group_id: number;
                    message_type: "group";
                    sender: TGroupMemberSender;
                    sub_type: "notice" | "normal" | "anonymous";
                    kick(): void;
                    mute(ban_duration?: number): void;
                    recall(): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                } & {
                    sub_type: "anonymous";
                }): void;
                message.group.normal(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    anonymous: null | TAnonymous;
                    group_id: number;
                    message_type: "group";
                    sender: TGroupMemberSender;
                    sub_type: "notice" | "normal" | "anonymous";
                    kick(): void;
                    mute(ban_duration?: number): void;
                    recall(): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                } & {
                    sub_type: "normal";
                }): void;
                message.group.notice(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    anonymous: null | TAnonymous;
                    group_id: number;
                    message_type: "group";
                    sender: TGroupMemberSender;
                    sub_type: "notice" | "normal" | "anonymous";
                    kick(): void;
                    mute(ban_duration?: number): void;
                    recall(): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                } & {
                    sub_type: "notice";
                }): void;
            } & {
                notice(event:
                    | TGroupFileUploadEvent
                    | TGroupAdminChangeEvent
                    | TGroupMemberDecreaseEvent
                    | TGroupMemberIncreaseEvent
                    | TGroupMuteEvent
                    | TGroupMessageRecallEvent
                    | TFriendAddEvent
                    | TFriendMessageRecallevent): void;
            } & {
                notice(event: TFriendAddEvent | TFriendMessageRecallevent): void;
                notice.friend_add(event: TFriendAddEvent): void;
                notice.friend_recall(event: TFriendMessageRecallevent): void;
            } & {
                notice(event:
                    | TGroupFileUploadEvent
                    | TGroupAdminChangeEvent
                    | TGroupMemberDecreaseEvent
                    | TGroupMemberIncreaseEvent
                    | TGroupMuteEvent
                    | TGroupMessageRecallEvent): void;
                notice.group_admin(event: TGroupAdminChangeEvent): void;
                notice.group_ban(event: TGroupMuteEvent): void;
                notice.group_decrease(event: TGroupMemberDecreaseEvent): void;
                notice.group_increase(event: TGroupMemberIncreaseEvent): void;
                notice.group_recall(event: TGroupMessageRecallEvent): void;
                notice.group_upload(event: TGroupFileUploadEvent): void;
            } & {
                request(event: TFriendAddInviteEvent | [event: TMemberAddOrInviteEvent]): void;
            } & {
                request(event: TFriendAddInviteEvent): void;
                request.friend(event: TFriendAddInviteEvent): void;
            } & {
                request(event: TMemberAddOrInviteEvent): void;
                request.group.add(event: TBaseEvent & {
                    comment: string;
                    flag: string;
                    post_type: "request";
                    request_type: "group" | "friend";
                    user_id: number;
                } & {
                    group_id: number;
                    request_type: "group";
                    sub_type: "add" | "invite";
                    approve(isApprove?: boolean, reason?: string): void;
                } & {
                    sub_type: "add";
                }): void;
                request.group.invite(event: TBaseEvent & {
                    comment: string;
                    flag: string;
                    post_type: "request";
                    request_type: "group" | "friend";
                    user_id: number;
                } & {
                    group_id: number;
                    request_type: "group";
                    sub_type: "add" | "invite";
                    approve(isApprove?: boolean, reason?: string): void;
                } & {
                    sub_type: "invite";
                }): void;
            } & TBaseClientEventMap>[Extract<T,
                | "message.private"
                | "message.private.friend"
                | "message.private.group"
                | "message.private.other"
                | "message.group"
                | "message.group.normal"
                | "message.group.anonymous"
                | "message.group.notice"
                | "notice"
                | "notice.friend_add"
                | "notice.friend_recall"
                | "notice.group_upload"
                | "notice.group_admin"
                | "notice.group_decrease"
                | "notice.group_increase"
                | "notice.group_ban"
                | "notice.group_recall"
                | "request"
                | "request.friend"
                | "request.group.add"
                | "request.group.invite"
                | "data"
                | "message"
                | "error"
                | "open"
                | "close">]

          Returns void

    • Optionalcontext: any

    Returns this

  • Remove all listeners, or those of the specified event.

    Parameters

    • Optionalevent:
          | "message.private"
          | "message.private.friend"
          | "message.private.group"
          | "message.private.other"
          | "message.group"
          | "message.group.normal"
          | "message.group.anonymous"
          | "message.group.notice"
          | "notice"
          | "notice.friend_add"
          | "notice.friend_recall"
          | "notice.group_upload"
          | "notice.group_admin"
          | "notice.group_decrease"
          | "notice.group_increase"
          | "notice.group_ban"
          | "notice.group_recall"
          | "request"
          | "request.friend"
          | "request.group.add"
          | "request.group.invite"
          | "data"
          | "message"
          | "error"
          | "open"
          | "close"

    Returns this

  • Remove the listeners of a given event.

    Type Parameters

    • T extends
          | "message.private"
          | "message.private.friend"
          | "message.private.group"
          | "message.private.other"
          | "message.group"
          | "message.group.normal"
          | "message.group.anonymous"
          | "message.group.notice"
          | "notice"
          | "notice.friend_add"
          | "notice.friend_recall"
          | "notice.group_upload"
          | "notice.group_admin"
          | "notice.group_decrease"
          | "notice.group_increase"
          | "notice.group_ban"
          | "notice.group_recall"
          | "request"
          | "request.friend"
          | "request.group.add"
          | "request.group.invite"
          | "data"
          | "message"
          | "error"
          | "open"
          | "close"

    Parameters

    • event: T
    • Optionalfn: ((...args: ArgumentMap<{
          message(event: TPrivateMessageEvent | TGroupMemberSender): void;
      } & {
          message.private(event: TPrivateMessageEvent): void;
          message.private.friend(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              message_type: "private";
              sender: TStrangerInfo;
              sub_type: "group" | "friend" | "other";
          } & {
              sub_type: "friend";
          }): void;
          message.private.group(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              message_type: "private";
              sender: TStrangerInfo;
              sub_type: "group" | "friend" | "other";
          } & {
              sub_type: "group";
          }): void;
          message.private.other(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              message_type: "private";
              sender: TStrangerInfo;
              sub_type: "group" | "friend" | "other";
          } & {
              sub_type: "other";
          }): void;
      } & {
          message.group(event: TGroupMessageEvent): void;
          message.group.anonymous(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              anonymous: null | TAnonymous;
              group_id: number;
              message_type: "group";
              sender: TGroupMemberSender;
              sub_type: "notice" | "normal" | "anonymous";
              kick(): void;
              mute(ban_duration?: number): void;
              recall(): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
          } & {
              sub_type: "anonymous";
          }): void;
          message.group.normal(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              anonymous: null | TAnonymous;
              group_id: number;
              message_type: "group";
              sender: TGroupMemberSender;
              sub_type: "notice" | "normal" | "anonymous";
              kick(): void;
              mute(ban_duration?: number): void;
              recall(): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
          } & {
              sub_type: "normal";
          }): void;
          message.group.notice(event: TBaseEvent & {
              font: number;
              message: TElements;
              message_id: number;
              message_type: "private" | "group";
              post_type: "message";
              raw_message: string;
              sub_type: string;
              user_id: number;
              forwardMessage(target_id: number): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
              replyViaEmoji(emoji_id: number): void;
          } & {
              anonymous: null | TAnonymous;
              group_id: number;
              message_type: "group";
              sender: TGroupMemberSender;
              sub_type: "notice" | "normal" | "anonymous";
              kick(): void;
              mute(ban_duration?: number): void;
              recall(): void;
              reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
          } & {
              sub_type: "notice";
          }): void;
      } & {
          notice(event:
              | TGroupFileUploadEvent
              | TGroupAdminChangeEvent
              | TGroupMemberDecreaseEvent
              | TGroupMemberIncreaseEvent
              | TGroupMuteEvent
              | TGroupMessageRecallEvent
              | TFriendAddEvent
              | TFriendMessageRecallevent): void;
      } & {
          notice(event: TFriendAddEvent | TFriendMessageRecallevent): void;
          notice.friend_add(event: TFriendAddEvent): void;
          notice.friend_recall(event: TFriendMessageRecallevent): void;
      } & {
          notice(event:
              | TGroupFileUploadEvent
              | TGroupAdminChangeEvent
              | TGroupMemberDecreaseEvent
              | TGroupMemberIncreaseEvent
              | TGroupMuteEvent
              | TGroupMessageRecallEvent): void;
          notice.group_admin(event: TGroupAdminChangeEvent): void;
          notice.group_ban(event: TGroupMuteEvent): void;
          notice.group_decrease(event: TGroupMemberDecreaseEvent): void;
          notice.group_increase(event: TGroupMemberIncreaseEvent): void;
          notice.group_recall(event: TGroupMessageRecallEvent): void;
          notice.group_upload(event: TGroupFileUploadEvent): void;
      } & {
          request(event: TFriendAddInviteEvent | [event: TMemberAddOrInviteEvent]): void;
      } & {
          request(event: TFriendAddInviteEvent): void;
          request.friend(event: TFriendAddInviteEvent): void;
      } & {
          request(event: TMemberAddOrInviteEvent): void;
          request.group.add(event: TBaseEvent & {
              comment: string;
              flag: string;
              post_type: "request";
              request_type: "group" | "friend";
              user_id: number;
          } & {
              group_id: number;
              request_type: "group";
              sub_type: "add" | "invite";
              approve(isApprove?: boolean, reason?: string): void;
          } & {
              sub_type: "add";
          }): void;
          request.group.invite(event: TBaseEvent & {
              comment: string;
              flag: string;
              post_type: "request";
              request_type: "group" | "friend";
              user_id: number;
          } & {
              group_id: number;
              request_type: "group";
              sub_type: "add" | "invite";
              approve(isApprove?: boolean, reason?: string): void;
          } & {
              sub_type: "invite";
          }): void;
      } & TBaseClientEventMap>[Extract<T,
          | "message.private"
          | "message.private.friend"
          | "message.private.group"
          | "message.private.other"
          | "message.group"
          | "message.group.normal"
          | "message.group.anonymous"
          | "message.group.notice"
          | "notice"
          | "notice.friend_add"
          | "notice.friend_recall"
          | "notice.group_upload"
          | "notice.group_admin"
          | "notice.group_decrease"
          | "notice.group_increase"
          | "notice.group_ban"
          | "notice.group_recall"
          | "request"
          | "request.friend"
          | "request.group.add"
          | "request.group.invite"
          | "data"
          | "message"
          | "error"
          | "open"
          | "close">]) => void)
        • (...args): void
        • Parameters

          • Rest...args: ArgumentMap<{
                message(event: TPrivateMessageEvent | TGroupMemberSender): void;
            } & {
                message.private(event: TPrivateMessageEvent): void;
                message.private.friend(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    message_type: "private";
                    sender: TStrangerInfo;
                    sub_type: "group" | "friend" | "other";
                } & {
                    sub_type: "friend";
                }): void;
                message.private.group(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    message_type: "private";
                    sender: TStrangerInfo;
                    sub_type: "group" | "friend" | "other";
                } & {
                    sub_type: "group";
                }): void;
                message.private.other(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    message_type: "private";
                    sender: TStrangerInfo;
                    sub_type: "group" | "friend" | "other";
                } & {
                    sub_type: "other";
                }): void;
            } & {
                message.group(event: TGroupMessageEvent): void;
                message.group.anonymous(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    anonymous: null | TAnonymous;
                    group_id: number;
                    message_type: "group";
                    sender: TGroupMemberSender;
                    sub_type: "notice" | "normal" | "anonymous";
                    kick(): void;
                    mute(ban_duration?: number): void;
                    recall(): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                } & {
                    sub_type: "anonymous";
                }): void;
                message.group.normal(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    anonymous: null | TAnonymous;
                    group_id: number;
                    message_type: "group";
                    sender: TGroupMemberSender;
                    sub_type: "notice" | "normal" | "anonymous";
                    kick(): void;
                    mute(ban_duration?: number): void;
                    recall(): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                } & {
                    sub_type: "normal";
                }): void;
                message.group.notice(event: TBaseEvent & {
                    font: number;
                    message: TElements;
                    message_id: number;
                    message_type: "private" | "group";
                    post_type: "message";
                    raw_message: string;
                    sub_type: string;
                    user_id: number;
                    forwardMessage(target_id: number): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                    replyViaEmoji(emoji_id: number): void;
                } & {
                    anonymous: null | TAnonymous;
                    group_id: number;
                    message_type: "group";
                    sender: TGroupMemberSender;
                    sub_type: "notice" | "normal" | "anonymous";
                    kick(): void;
                    mute(ban_duration?: number): void;
                    recall(): void;
                    reply(message: TElements, at_sender?: boolean, auto_escape?: boolean): void;
                } & {
                    sub_type: "notice";
                }): void;
            } & {
                notice(event:
                    | TGroupFileUploadEvent
                    | TGroupAdminChangeEvent
                    | TGroupMemberDecreaseEvent
                    | TGroupMemberIncreaseEvent
                    | TGroupMuteEvent
                    | TGroupMessageRecallEvent
                    | TFriendAddEvent
                    | TFriendMessageRecallevent): void;
            } & {
                notice(event: TFriendAddEvent | TFriendMessageRecallevent): void;
                notice.friend_add(event: TFriendAddEvent): void;
                notice.friend_recall(event: TFriendMessageRecallevent): void;
            } & {
                notice(event:
                    | TGroupFileUploadEvent
                    | TGroupAdminChangeEvent
                    | TGroupMemberDecreaseEvent
                    | TGroupMemberIncreaseEvent
                    | TGroupMuteEvent
                    | TGroupMessageRecallEvent): void;
                notice.group_admin(event: TGroupAdminChangeEvent): void;
                notice.group_ban(event: TGroupMuteEvent): void;
                notice.group_decrease(event: TGroupMemberDecreaseEvent): void;
                notice.group_increase(event: TGroupMemberIncreaseEvent): void;
                notice.group_recall(event: TGroupMessageRecallEvent): void;
                notice.group_upload(event: TGroupFileUploadEvent): void;
            } & {
                request(event: TFriendAddInviteEvent | [event: TMemberAddOrInviteEvent]): void;
            } & {
                request(event: TFriendAddInviteEvent): void;
                request.friend(event: TFriendAddInviteEvent): void;
            } & {
                request(event: TMemberAddOrInviteEvent): void;
                request.group.add(event: TBaseEvent & {
                    comment: string;
                    flag: string;
                    post_type: "request";
                    request_type: "group" | "friend";
                    user_id: number;
                } & {
                    group_id: number;
                    request_type: "group";
                    sub_type: "add" | "invite";
                    approve(isApprove?: boolean, reason?: string): void;
                } & {
                    sub_type: "add";
                }): void;
                request.group.invite(event: TBaseEvent & {
                    comment: string;
                    flag: string;
                    post_type: "request";
                    request_type: "group" | "friend";
                    user_id: number;
                } & {
                    group_id: number;
                    request_type: "group";
                    sub_type: "add" | "invite";
                    approve(isApprove?: boolean, reason?: string): void;
                } & {
                    sub_type: "invite";
                }): void;
            } & TBaseClientEventMap>[Extract<T,
                | "message.private"
                | "message.private.friend"
                | "message.private.group"
                | "message.private.other"
                | "message.group"
                | "message.group.normal"
                | "message.group.anonymous"
                | "message.group.notice"
                | "notice"
                | "notice.friend_add"
                | "notice.friend_recall"
                | "notice.group_upload"
                | "notice.group_admin"
                | "notice.group_decrease"
                | "notice.group_increase"
                | "notice.group_ban"
                | "notice.group_recall"
                | "request"
                | "request.friend"
                | "request.group.add"
                | "request.group.invite"
                | "data"
                | "message"
                | "error"
                | "open"
                | "close">]

          Returns void

    • Optionalcontext: any
    • Optionalonce: boolean

    Returns this