Class Client

一个客户端

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

_cache: Map<number, Set<string>> = ...
_sync_cookie?: Uint8Array
age: number = 0

年龄

apk: {
    app_key: string;
    appid: number;
    bitmap: number;
    buildtime: number;
    display: string;
    id: string;
    main_sig_map: number;
    name: string;
    sdkver: string;
    sign: Buffer;
    ssover: number;
    sub_sig_map: number;
    subid: number;
    ver: string;
    version: string;
}

Type declaration

  • app_key: string
  • appid: number
  • bitmap: number
  • buildtime: number
  • display: string
  • id: string
  • main_sig_map: number
  • name: string
  • sdkver: string
  • sign: Buffer
  • ssover: number
  • sub_sig_map: number
  • subid: number
  • ver: string
  • version: string
bid: string = ""

Todo

未知属性

blacklist: Set<number> = ...

黑名单列表

classes: Map<number, string> = ...

好友分组

config: Required<Config>

配置

cookies: {
    : string;
    aq.qq.com: string;
    buluo.qq.com: string;
    connect.qq.com: string;
    docs.qq.com: string;
    game.qq.com: string;
    gamecenter.qq.com: string;
    haoma.qq.com: string;
    id.qq.com: string;
    kg.qq.com: string;
    mail.qq.com: string;
    mma.qq.com: string;
    office.qq.com: string;
    openmobile.qq.com: string;
    qqweb.qq.com: string;
    qun.qq.com: string;
    qzone.qq.com: string;
    ti.qq.com: string;
    v.qq.com: string;
    vip.qq.com: string;
    y.qq.com: string;
} = ...

Type declaration

  • : string
  • aq.qq.com: string
  • buluo.qq.com: string
  • connect.qq.com: string
  • docs.qq.com: string
  • game.qq.com: string
  • gamecenter.qq.com: string
  • haoma.qq.com: string
  • id.qq.com: string
  • kg.qq.com: string
  • mail.qq.com: string
  • mma.qq.com: string
  • office.qq.com: string
  • openmobile.qq.com: string
  • qqweb.qq.com: string
  • qun.qq.com: string
  • qzone.qq.com: string
  • ti.qq.com: string
  • v.qq.com: string
  • vip.qq.com: string
  • y.qq.com: string

Todo

未知属性

device: Device
dir: string

账号本地数据存储目录

fl: Map<number, FriendInfo> = ...

好友列表

gl: Map<number, GroupInfo> = ...

群列表

gml: Map<number, Map<number, MemberInfo>> = ...

群员列表缓存

guilds: Map<string, Guild> = ...

我加入的频道列表

heartbeat: (() => void) = NOOP

Type declaration

    • (): void
    • 随心跳一起触发的函数,可以随意设定

      Returns void

interval: number = 30

心跳间隔(秒)

logger: Logger
nickname: string = ""

昵称

password_md5?: Buffer

密码的md5值,调用 login 后会保存在这里,用于token过期时恢复登录

pickDiscuss: ((...args) => Discuss) = ...

Type declaration

    • (...args): Discuss
    • 创建一个讨论组对象

      Parameters

      • Rest ...args: [gid: number]

      Returns Discuss

      一个Discuss对象

pickFriend: ((...args) => Friend) = ...

Type declaration

    • (...args): Friend
    • 得到一个好友对象, 通常不会重复创建、调用

      Parameters

      • Rest ...args: [uid: number, strict: boolean]

      Returns Friend

      一个Friend对象

pickGroup: ((...args) => Group) = ...

Type declaration

    • (...args): Group
    • 得到一个群对象, 通常不会重复创建、调用

      Parameters

      • Rest ...args: [gid: number, strict: boolean]

      Returns Group

      一个Group对象

pickGuild: ((...args) => Guild) = ...

Type declaration

    • (...args): Guild
    • 创建一个频道对象,通常不会重复创建、调用

      Parameters

      • Rest ...args: [guild_id: string]

      Returns Guild

      一个Guild对象

pickMember: ((...args) => Member) = ...

Type declaration

    • (...args): Member
    • 得到一个群员对象, 通常不会重复创建、调用

      Parameters

      • Rest ...args: [gid: number, uid: number, strict: boolean]

      Returns Member

      一个Member对象

pickUser: ((...args) => User) = ...

Type declaration

    • (...args): User
    • 创建一个用户对象

      Parameters

      • Rest ...args: [uid: number]

      Returns User

      一个User对象

pskey: {
    [domain: string]: Buffer;
} = {}

Type declaration

  • [domain: string]: Buffer
pt4token: {
    [domain: string]: Buffer;
} = {}

Type declaration

  • [domain: string]: Buffer
sex: Gender = "unknown"

性别

sig: Record<string, any> = ...
sl: Map<number, StrangerInfo> = ...

陌生人列表

stamp: Set<string> = ...

漫游表情缓存

statistics: {
    lost_pkt_cnt: number;
    lost_times: number;
    msg_cnt_per_min: number;
    recv_msg_cnt: number;
    recv_pkt_cnt: number;
    remote_ip: string;
    remote_port: number;
    sent_msg_cnt: number;
    sent_pkt_cnt: number;
    start_time: number;
} = ...

数据统计

Type declaration

  • lost_pkt_cnt: number
  • lost_times: number
  • msg_cnt_per_min: number
  • recv_msg_cnt: number
  • recv_pkt_cnt: number
  • remote_ip: string
  • remote_port: number
  • sent_msg_cnt: number
  • sent_pkt_cnt: number
  • start_time: number
status: OnlineStatus = OnlineStatus.Offline

在线状态

tiny_id: string = ""

相当于频道中的qq号

uin: number

Accessors

  • get stat(): {
        lost_pkt_cnt: number;
        lost_times: number;
        msg_cnt_per_min: number;
        recv_msg_cnt: number;
        recv_pkt_cnt: number;
        remote_ip: string;
        remote_port: number;
        sent_msg_cnt: number;
        sent_pkt_cnt: number;
        start_time: number;
    }
  • 数据统计

    Returns {
        lost_pkt_cnt: number;
        lost_times: number;
        msg_cnt_per_min: number;
        recv_msg_cnt: number;
        recv_pkt_cnt: number;
        remote_ip: string;
        remote_port: number;
        sent_msg_cnt: number;
        sent_pkt_cnt: number;
        start_time: number;
    }

    • lost_pkt_cnt: number
    • lost_times: number
    • msg_cnt_per_min: number
    • recv_msg_cnt: number
    • recv_pkt_cnt: number
    • remote_ip: string
    • remote_port: number
    • sent_msg_cnt: number
    • sent_pkt_cnt: number
    • start_time: number

Methods

  • Parameters

    • from: number
    • type: number
    • seq: number
    • time: number

    Returns boolean

  • Parameters

    • k: number
    • v: Buffer

    Returns Promise<boolean>

  • 添加好友分组

    Parameters

    • name: string

    Returns Promise<void>

  • Parameters

    • group_id: number
    • user_id: number
    • comment: string = ""

    Returns Promise<boolean>

    Cqhttp

    use addFriend

  • Type Parameters

    • T extends Trapper<T> = this

    Parameters

    • this: T
    • matcher: Matcher
    • listener: Listener

    Returns ToDispose<T>

  • Parameters

    • matcher: Matcher
    • Rest ...args: any[]

    Returns any

  • Parameters

    • matcher: Matcher
    • Rest ...args: any[]

    Returns Promise<any>

  • 清空缓存文件 fs.rm need v14.14

    Returns void

  • 删除好友分组

    Parameters

    • id: number

    Returns Promise<void>

  • Parameters

    • user_id: number
    • block: boolean = true

    Returns Promise<boolean>

    Cqhttp

    use delete

  • 删除表情(支持批量)

    Parameters

    • id: string | string[]

    Returns Promise<void>

  • emit an event

    Parameters

    • name: string = ""
    • Optional data: any

    Returns void

  • 获取子频道列表 use channels

    Parameters

    • guild_id: string

    Returns {
        channel_id: string;
        channel_name: string;
        channel_type: ChannelType;
        guild_id: string;
    }[]

  • Returns {
        guild_id: string;
        guild_name: string;
    }[]

    Cqhttp

    use guilds

  • 获取漫游表情

    Parameters

    • no_cache: boolean = false

    Returns Promise<string[]>

  • Parameters

    • user_id: number

    Returns Promise<{
        age: number;
        area: string;
        nickname: string;
        sex: Gender;
        user_id: number;
    }>

    Cqhttp

    use getSimpleInfo

  • 获取视频下载地址 use getVideoUrl

    Parameters

    • fid: string
    • md5: string | Buffer

    Returns Promise<string>

  • 监听群邀请/消息事件

    Parameters

    • Rest ...group_ids: number[]

      监听群的群号

    Returns ((listener) => ToDispose<Client>)

    事件处理

  • Parameters

    • group_id: number
    • user_id: number

    Returns Promise<boolean>

    Cqhttp

    use invite

  • Parameters

    • Optional matcher: Matcher

    Returns Listener[]

  • 只能在初始化Client时传了uin或扫码登录,才能调用

    • 传了password则尝试密码登录
    • 不传password则尝试扫码登录 未传任何参数 则尝试扫码登录 掉线重连时也是自动调用此函数,走相同逻辑 你也可以在配置中修改reconn_interval,关闭掉线重连并自行处理

    Parameters

    • Optional password: string | Buffer

      可以为密码原文,或密码的md5值

    Returns Promise<void>

  • 传了uin,未传password 会优先尝试使用token登录 (token在上次登录成功后存放在this.dir${uin}_token中) 传了uin无token或token失效时:

    • 传了password则尝试密码登录
    • 不传password则尝试扫码登录 未传任何参数 则尝试扫码登录 掉线重连时也是自动调用此函数,走相同逻辑 你也可以在配置中修改reconn_interval,关闭掉线重连并自行处理

    Parameters

    • Optional uin: number

      登录账号

    • Optional password: string | Buffer

      可以为密码原文,或密码的md5值

    Returns Promise<void>

  • Type Parameters

    Parameters

    • event: T

    Returns void

  • Type Parameters

    • S extends Matcher

    Parameters

    Returns void

  • Parameters

    • matcher: Matcher
    • Optional listener: Listener

    Returns void

  • 获取扫码结果(可定时查询,retcode为0则调用qrcodeLogin登录)

    Returns Promise<{
        retcode: number;
        t106: undefined | Buffer;
        t16a: undefined | Buffer;
        t318: undefined | Buffer;
        tgtgt: undefined | Buffer;
        uin: undefined | number;
    }>

  • 重载黑名单

    Returns Promise<void>

  • 重载好友列表

    Returns Promise<void>

  • 重载群列表

    Returns Promise<void>

  • 重新加载频道列表

    Returns Promise<void>

  • 重载陌生人列表

    Returns Promise<void>

  • 移除群精华消息 use removeEssence

    Parameters

    • message_id: string

      消息id

    Returns Promise<string>

  • 重命名好友分组

    Parameters

    • id: number
    • name: string

    Returns Promise<void>

  • Parameters

    • group_id: number
    • content: string

    Returns Promise<boolean>

    Cqhttp

    use announce

  • Parameters

    • group_id: number
    • user_id: number

    Returns Promise<boolean>

    Cqhttp

    use pokeMember or poke

  • Parameters

    • group_id: number

    Returns Promise<{
        result: number;
    }>

    Cqhttp

    use sign

  • Parameters

    • guild_id: string
    • channel_id: string
    • message: Sendable

    Returns Promise<{
        rand: number;
        seq: number;
        time: number;
    }>

    Cqhttp

    use sendMsg

  • Parameters

    • user_id: number
    • times: number = 1

    Returns Promise<boolean>

    Cqhttp

    use thumbUp

  • dont use it if not clear the usage

    Parameters

    • cmd: string
    • body: Uint8Array
    • timeout: number = 5

    Returns Promise<Buffer>

  • 发送一个业务包并等待返回

    Parameters

    • cmd: string
    • body: Uint8Array
    • timeout: number = 5

    Returns Promise<Buffer>

  • 设置头像

    Parameters

    • file: string | Buffer | Readable

    Returns Promise<void>

  • 设置生日

    Parameters

    • birthday: string | number

      YYYYMMDD格式的string(会过滤非数字字符)或number

    Returns Promise<boolean>

  • 设置个人说明

    Parameters

    • description: string = ""

    Returns Promise<boolean>

  • 添加群精华消息 use addEssence

    Parameters

    • message_id: string

      消息id

    Returns Promise<string>

  • Parameters

    • flag: string
    • approve: boolean = true
    • remark: string = ""
    • block: boolean = false

    Returns Promise<boolean>

  • 设置性别

    Parameters

    • gender: 0 | 1 | 2

      0:未知,1:男,2:女

    Returns Promise<boolean>

  • Parameters

    • flag: string
    • approve: boolean = true
    • reason: string = ""
    • block: boolean = false

    Returns Promise<boolean>

  • Parameters

    • group_id: number
    • user_id: number
    • enable: boolean = true

    Returns Promise<boolean>

    Cqhttp

    use setAdmin or setAdmin

  • Parameters

    • group_id: number
    • enable: boolean = true

    Returns Promise<boolean>

    Cqhttp

    use allowAnony

  • Parameters

    • group_id: number
    • flag: string
    • duration: number = 1800

    Returns Promise<void>

    Cqhttp

    use muteAnony

  • Parameters

    • group_id: number
    • user_id: number
    • duration: number = 1800

    Returns Promise<void>

    Cqhttp

    use muteMember or mute

  • Parameters

    • group_id: number
    • user_id: number
    • card: string

    Returns Promise<boolean>

    Cqhttp

    use setCard or setCard

  • Parameters

    • group_id: number
    • user_id: number
    • reject_add_request: boolean = false
    • Optional message: string

    Returns Promise<boolean>

    Cqhttp

    use kickMember or kick

  • Parameters

    • group_id: number

    Returns Promise<boolean>

    Cqhttp

    use quit

  • Parameters

    • group_id: number
    • name: string

    Returns Promise<boolean>

    Cqhttp

    use setName

  • Parameters

    • group_id: number
    • file: string | Buffer | Readable

    Returns Promise<void>

    Cqhttp

    use setAvatar

  • Parameters

    • group_id: number
    • user_id: number
    • special_title: string
    • duration: number = -1

    Returns Promise<boolean>

    Cqhttp

    use setTitle or setTitle

  • Parameters

    • group_id: number
    • enable: boolean = true

    Returns Promise<boolean>

    Cqhttp

    use muteAll

  • 设置昵称

    Parameters

    • nickname: string

    Returns Promise<boolean>

  • Parameters

    • file: string | Buffer | Readable

    Returns Promise<void>

    Cqhttp

    use setAvatar

  • 设置个性签名

    Parameters

    • signature: string = ""

    Returns Promise<boolean>

  • Type Parameters

    Parameters

    • event: E
    • Rest ...args: Parameters<EventMap[E]>

    Returns boolean

  • Type Parameters

    • S extends string | symbol

    Parameters

    • event: S & Exclude<S, keyof EventMap>
    • Rest ...args: any[]

    Returns boolean

  • Parameters

    • matcher: Matcher
    • Rest ...args: any[]

    Returns Promise<void>

  • 监听用户私聊/群聊事件

    Parameters

    • Rest ...user_ids: number[]

      监听的用户账号

    Returns ((listener) => ToDispose<Client>)

    事件处理

Generated using TypeDoc