# 应用类api

说明

所有应用类API具有统一的返回值:Ret

调用 Promise api 时无需使用catch(),需要判断是否成功请使用Ret.retcodeRet.status
大部分API没有data返回值
API调用失败时你会得到一个error(包含codemessage)

弃用说明

弃用只是不推荐使用,并不会删除

# 获取列表和资料

# Client.getGroupInfo(group_id, no_cache)

获取群资料(该方法一般用于刷新群资料缓存,从缓存中获取直接访问 Client.gl.get(gid) 即可)

参数 类型 默认 说明
group_id number 群号
no_cache? boolean false 是否不使用缓存数据

返回值 Promise<Ret<GroupInfo>>

# Client.getGroupMemberList(group_id, no_cache)

获取群成员列表,缓存于Client.gml

参数 类型 默认 说明
group_id number 群号
no_cache? boolean false 是否不使用缓存数据

返回值 Promise<Ret<Map<number, MemberInfo>>>

# Client.getGroupMemberInfo(group_id, user_id, no_cache)

获取群员资料,缓存于client.gml

参数 类型 默认 说明
group_id number 群号
user_id number QQ号
no_cache? boolean false 是否不使用缓存数据

返回值 Promise<Ret<MemberInfo>>

# Client.getStrangerInfo(user_id, no_cache)

获取陌生人资料

参数 类型 默认 说明
group_id number 群号
no_cache? boolean false 是否不使用缓存数据

返回值 Promise<Ret<StrangerInfo>>

# Client.getFriendList() 弃用

获取好友列表

注意

已弃用 请直接访问 Client.fl

返回值 Ret<client["fl"]>

# Client.getStrangerList() 弃用

获取陌生人列表

注意

已弃用 请直接访问 Client.sl

返回值 Ret<client["sl"]>

# Client.getGroupList() 弃用

获取群列表

注意

已弃用 请直接访问 Client.gl

返回值 Ret<client["gl"]>

# Client.getLoginInfo() 弃用

获取登录账号信息

注意

已弃用 请直接访问 Client

返回值 Ret<StrangerInfo>

# 消息相关

# Client.sendPrivateMsg(user_id, message, auto_escape)

发送私聊消息

参数 类型 默认 说明
user_id number QQ号
message MessageElem|Iterable<MessageElem| string>| string 消息内容
auto_escape? boolean false unknown

返回值 Promise<Ret<{ message_id }>>

参数 类型 说明
message_id string 消息id

# Client.sendGroupMsg(group_id, message, auto_escape)

发送群消息

参数 类型 默认 说明
group_id number 群号
message MessageElem | Iterable<MessageElem| string> | string 消息内容
auto_escape? boolean false unknown

返回值 Promise<Ret<{ message_id }>>

# Client.sendDiscussMsg(discuss_id, message, auto_escape)

发送讨论组消息

参数 类型 默认 说明
discuss_id number 讨论组号
message MessageElem | Iterable<MessageElem| string> | string 消息内容
auto_escape? boolean false unknown

返回值 Promise<Ret>

# Client.sendTempMsg(group_id, user_id, message, auto_escape)

发送群临时会话,大多数时候可以使用私聊达到同样效果

参数 类型 默认 说明
group_id number 群号
user_id number QQ号
message MessageElem | Iterable<MessageElem| string> | string 消息内容
auto_escape? boolean false unknown

返回值 Promise<Ret<{ message_id }>>

# Client.deleteMsg(message_id)

撤回消息

参数 类型 默认 说明
message_id string 消息id

返回值 Promise<Ret>

# Client.reportReaded(message_id)

置消息已读 (message_id及之前的消息将全部变为已读)

参数 类型 默认 说明
message_id string 消息id

返回值 Promise<Ret>

# Client.getMsg(message_id)

获取一条消息 (无法获取被撤回的消息)

参数 类型 默认 说明
message_id string 消息id

返回值 Promise<Ret<PrivateMessageEventData | GroupMessageEventData>>

# Client.getChatHistory(message_id, count)

获取message_id往前的count条消息(包括自身) 无法获取被撤回的消息,因此返回的数量并不一定为count 若要获取最新的20条消息,参考 message-id的规则和解析方法 自行构造消息id,除群号外其余位补0

参数 类型 默认 说明
message_id string 消息id
count? number 20 获取消息条数,不能超过20

返回值 Promise<Ret<PrivateMessageEventData[] | GroupMessageEventData[]>>

# Client.getForwardMsg(resid)

获取转发消息 resid在xml消息中,需要自行解析xml获得 暂不支持套娃转发解析

参数 类型 默认 说明
resid string 转发消息id

返回值 Promise<Ret<Array<{ group_id?: number, user_id: number, nickname: string, time: number, message: MessageElem[], raw_message: string, }>>>

# Client.makeForwardMsg(fakes, dm)

制作一个合并转发消息,得到的XmlElem可直接发送

参数 类型 默认 说明
fakes FakeMessage\Iterable<FakeMessage> 消息
dm boolean false 以群模式上传图片,设为true则以私聊模式上传图片

返回值 Promise<Ret<XmlElem>>>

# FakeMessage

属性 类型 说明
user_id number qq
message string|MessageElem|Iterable<MessageElem| string> 可转发的有效元素理论上只有[文字、表情、图片],不支持CQ码
nickname? string 昵称
time? number 时间戳(秒),默认:当前时间

# 构建消息

提示

oicq中所有消息由模块中的工具类segmentcqcode中的方法构建

const { segment, cqcode } = require("oicq");

cqcode中的方法的返回值类型均为string,也就是cq码

以下方法没有前缀的均为两种类都有的方法

# .text(text) 弃用

文本

参数 类型 默认 说明
text string 文本

返回值 TextElem

# .at(qq, text, dummy)

艾特

参数 类型 默认 说明
qq number|"all" qq
text string '@'+qq|q名
dummy? boolean false 假at,只显示艾特文本

返回值 AtElem

# .face(id, text)

经典表情
可以参考这里(图片 (opens new window)/项目 (opens new window))的(可能更新不及时)

参数 类型 默认 说明
id number 表情id
text? string

返回值 FaceElem

# .sface(id, text)

小表情(几乎不再使用)

参数 类型 默认 说明
id number 表情id
text? string

返回值 FaceElem

# .bface(file)

原创表情

参数 类型 默认 说明
file string 文件路径

返回值 BfaceElem

# .rps(id)

猜拳

参数 类型 默认 说明
id? number `` 1~3

返回值 MfaceElem

# .dice(id)

骰子

参数 类型 默认 说明
id? number `` 1~6

返回值 MfaceElem

# .image(file, cache, timeout, headers)

图片(后三个参数在下载网络资源时有效)

参数 类型 默认 说明
file MediaFile 文件
cache? boolean true file为网络资源时是否使用缓存
timeout? number `` file为网络资源时请求超时时间
headers? OutgoingHttpHeaders `` file为网络资源时请求头

返回值 ImgPttElem

# .flash(file, cache, timeout, headers)

闪照(后三个参数在下载网络资源时有效)

参数 类型 默认 说明
file MediaFile 文件
cache? boolean true file为网络资源时是否使用缓存
timeout? number `` file为网络资源时请求超时时间
headers? OutgoingHttpHeaders `` file为网络资源时请求头

返回值 ImgPttElem

# .record(file, cache, timeout, headers)

语音(后三个参数在下载网络资源时有效)

参数 类型 默认 说明
file MediaFile 文件
cache? boolean true file为网络资源时是否使用缓存
timeout? number `` file为网络资源时请求超时时间
headers? OutgoingHttpHeaders `` file为网络资源时请求头

返回值 ImgPttElem

# .video(file)

视频

参数 类型 默认 说明
file string 发送仅支持本地文件路径或转发

返回值 VideoElem

# .location(lat, lng, address, id)

地点分享

参数 类型 默认 说明
lat number 纬度
lng number 经度
address string 地点名
id? string ``

返回值 LocationElem

# .music(type, id)

音乐分享

参数 类型 默认 说明
type MusicType 平台名
id string 音乐id

返回值 MusicElem

# .json(data)

JSON消息

参数 类型 默认 说明
data any 一个 json 字符串或一个 json 对象

返回值 JsonElem

# .xml(data, type)

xml卡牌消息

参数 类型 默认 说明
data string
type? number ``

返回值 XmlElem

# .share(url, title, image, content)

链接分享

参数 类型 默认 说明
url string 链接
title string 标题
image? string ``
content? string ``

返回值 ShareElem

# .shake()

窗口抖动

返回值 ShakeElem

# .poke(type, id)

戳一戳

参数 类型 默认 说明
type number 0~6,分别对应哪种戳的类型
id? number ``

返回值 PokeElem

# .reply(id)

引用回复

参数 类型 默认 说明
id string message_id

返回值 ReplyElem

# .node(id)

node

参数 类型 默认 说明
id string

返回值 NodeElem

# .anonymous(ignore)

匿名消息

参数 类型 默认 说明
ignore? boolean true 匿名失败时是否继续发送

返回值 AnonymousElem

# .mirai(data)

只有mirai系客户端可以解析的消息

参数 类型 默认 说明
data string

返回值 MiraiElem

# segment.toCqcode(elem(s))

将元素转换到CQ码字符串(CQ码字符串无法逆转换到元素,因为类型会丢失)

参数 类型 默认 说明
elem(s) MessageElem|Iterable<MessageElem>

返回值 string

# 系统消息处理

# Client.setFriendAddRequest(flag, approve, remark, block)

处理加好友请求

参数 类型 默认 说明
flag string 在[事件]中获得
approve? boolean true 是否同意请求
remark? string
block? boolean

返回值 Promise<Ret>

# Client.setGroupAddRequest(flag, approve, remark, block)

处理入群请求

参数 类型 默认 说明
flag string 在[事件]中获得
approve? boolean true 是否同意请求
remark? string
block? boolean

返回值 Promise<Ret>

# Client.getSystemMsg()

获取未处理的请求

返回值 Promise<Ret<Array<FriendAddEventData | GroupAddEventData | GroupInviteEventData>>>

# FriendAddEventData

添加好友事件数据
继承于公共请求事件数据

属性 类型 说明
request_type string "friend" 请求类型
sub_type string "add" | "single" //加好友请求
comment string 附加信息
source string 来源(如"条件查找")
age number 年龄
sex Gender 性别

# GroupAddEventData

群请求事件数据
继承于公共请求事件数据

属性 类型 说明
request_type string "group" 请求类型
sub_type string "add" 加群请求
group_id number 群号
group_name string 群名
comment string 附加信息
inviter_id? number 邀请者(来自群员的邀请时)
tips string 如"该帐号存在风险,请谨慎操作"

# GroupInviteEventData

邀请入群事件数据
继承于公共请求事件数据

属性 类型 说明
request_type string "group" 请求类型
sub_type string "invite" 群邀请
group_id number 群号
group_name string 群名
role GroupRole 邀请者权限

# 群操作

# Client.sendGroupNotice(group_id, content)

发简易群公告

参数 类型 默认 说明
group_id number 群号
content string 内容

返回值 Promise<Ret>

# Client.setGroupName(group_id, group_name)

设置群名

参数 类型 默认 说明
group_id number 群号
group_name string 群名

返回值 Promise<Ret>

# Client.setGroupAnonymous(group_id, enable)

开启或关闭匿名功能

参数 类型 默认 说明
group_id number 群号
enable? boolean true 是否打开

返回值 Promise<Ret>

# Client.setGroupWholeBan(group_id, enable)

全员禁言

参数 类型 默认 说明
group_id number 群号
enable? boolean true 是否打开

返回值 Promise<Ret>

# Client.setGroupAdmin(group_id, user_id, enable)

设置管理员

参数 类型 默认 说明
group_id number 群号
user_id number qq
enable? boolean true 是否打开

返回值 Promise<Ret>

# Client.setGroupSpecialTitle(group_id, user_id, special_title, duration)

设置群头衔

参数 类型 默认 说明
group_id number 群号
user_id number qq
special_title? string `` 头衔
duration? boolean `` 有效期

返回值 Promise<Ret>

# Client.setGroupCard(group_id, user_id, card)

设置群名片

参数 类型 默认 说明
group_id number 群号
user_id number qq
card? string `` 群昵称

返回值 Promise<Ret>

# Client.setGroupKick(group_id, user_id, reject_add_request)

踢人(不支持批量)

参数 类型 默认 说明
group_id number 群号
user_id number qq
reject_add_request? boolean `` 不再接收其群请求

返回值 Promise<Ret>

# Client.setGroupBan(group_id, user_id, duration)

禁言,时间为0则取消禁言

参数 类型 默认 说明
group_id number 群号
user_id number qq
duration? number 1800 禁言时间(秒)

返回值 Promise<Ret>

# Client.setGroupAnonymousBan(group_id, flag, duration?: number)

禁言匿名群员

参数 类型 默认 说明
group_id number 群号
flag string 在[消息事件]中
duration? number `` 禁言时间(秒)

返回值 Promise<Ret>

# Client.setGroupLeave(group_id, dismiss)

退群

注意

dismiss参数可能无效,如果你是群主无论如何群都会立即解散

参数 类型 默认 说明
group_id number 群号
dismiss? boolean false 是否解散

返回值 Promise<Ret>

# Client.sendGroupPoke(group_id, user_id)

戳一戳(可以对好友使用)

参数 类型 默认 说明
group_id number 群号
user_id number qq

返回值 Promise<Ret>

# Client.setGroupPortrait(group_id, file)

设置群头像

参数 类型 默认 说明
group_id number 群号
file MediaFile 媒体文件

返回值 Promise<Ret>

# 个人相关

# Client.setOnlineStatus(status)

设置在线状态

参数 类型 默认 说明
status number 在线状态

返回值 Promise<Ret>

# Client.setNickname(nickname)

设置昵称

参数 类型 默认 说明
nickname string 昵称

返回值 Promise<Ret>

# Client.setGender(gender)

设置性别

参数 类型 默认 说明
gender 0|1|2 未知|男|女

返回值 Promise<Ret>

# Client.setBirthday(birthday)

设置生日

参数 类型 默认 说明
birthday string|number 20110202的形式(yyyyMMdd)

返回值 Promise<Ret>

# Client.setDescription(description)

设置个人说明

参数 类型 默认 说明
description? string "" 说明

返回值 Promise<Ret>

# Client.setSignature(signature?: string)

设置个性签名

参数 类型 默认 说明
signature? string "" 个性签名

返回值 Promise<Ret>

# Client.setPortrait(file)

设置头像

参数 类型 默认 说明
file MediaFile 媒体文件

返回值 Promise<Ret>

# Client.addGroup(group_id, comment)

添加群

注意

该接口风控

参数 类型 默认 说明
group_id number 群号
comment? string "" 附言

返回值 Promise<Ret>

# Client.addFriend(group_id, user_id, comment)

添加群员为好友

参数 类型 默认 说明
group_id number 群号
user_id number qq
comment? string "" 附言

返回值 Promise<Ret>

# Client.deleteFriend(user_id, block)

删除好友

参数 类型 默认 说明
user_id number qq
block? boolean ``

返回值 Promise<Ret>

# Client.inviteFriend(group_id, user_id)

邀请好友入群(不支持陌生人和批量)

参数 类型 默认 说明
group_id number 群号
user_id number qq

返回值 Promise<Ret>

# Client.sendLike(user_id: number, times?: number)

点赞(不支持陌生人)

参数 类型 默认 说明
user_id number qq
times? number 1 次数

返回值 Promise<Ret>

# 群文件系统

注意

这里面的方法是会reject的,需要catch
node15开始,unhandledRejection默认会升级为uncaughtException导致程序退出

# Client.acquireGfs(group_id)

初始化一个群文件系统

参数 类型 默认 说明
group_id number 群号

返回值 Gfs

# Gfs.gid 只读

群号

# Gfs.stat(fid)

查看文件属性(尽量不要对目录使用此方法)

参数 类型 默认 说明
fid string 文件或目录

返回值 Promise<GfsStat>

# GfsStat

说明
GfsDirStat 目录属性
GfsFileStat 文件属性

# Gfs.ls(fid, start, limit)

列出文件
Gfs.dir(fid, start, limit)别名

参数 类型 默认 说明
fid? string `` 文件或目录
start? number 0 开始的索引
limit? number 100 限制,最大100

返回值 Promise<GfsStat[]>

# Gfs.mkdir(name: string)

创建目录
只能在根目录下创建目录

参数 类型 默认 说明
name? string 目录

返回值 Promise<GfsDirStat>

# GfsDirStat

目录属性
继承于群文件基础属性

属性 类型 说明
file_count number 文件数
is_dir true 是否为目录

# Gfs.rm(fid)

删除文件或目录(删除目标是目录的时候会删除下面的所有文件)

参数 类型 默认 说明
fid string 文件或目录

返回值 Promise<void>

# Gfs.rename(fid, name)

重命名文件或目录

参数 类型 默认 说明
fid string 文件或目录
name string 文件名或目录名

返回值 Promise<void>

# Gfs.mv(fid, pid)

移动文件到其他目录

参数 类型 默认 说明
fid string 文件或目录
pid string 父目录

返回值 Promise<void>

# Gfs.df()

查看可用空间和文件数量

返回值

Promise<{
    total: number,//总容量
    used: number,//已用
    free: number,//剩余
    file_count: number,//
    max_file_count: number,//
}>;

# Gfs.upload(file, pid, name, process)

上传文件,仅支持本地文件路径或Buffer
大文件上传时开启debug可以打印上传进度

参数 类型 默认 说明
file MediaFile 文件
pid? string '/' 父目录,默认传到根目录
name? string `` 文件名?
process function undefined 上传进度回调函数

返回值 Promise<GfsFileStat>

# process(percentage)

上传进度回调函数

参数 类型 说明
percentage string 百分比

# GfsFileStat

文件属性
继承于群文件基础属性

属性 类型 说明
size number 文件大小(字节)
busid number
md5 string
sha1 string
duration number 有效时间
download_times number 下载次数

# Gfs.download(fid)

获取文件的下载链接

参数 类型 默认 说明
fid string 文件

返回值 Promise<FileElem["data"]>

# 其他

# Client.preloadImages(files) 弃用

预先上传图片以备发送 通常图片在发送时一并上传 提前上传可用于加快发送速度,实现秒发

参数 类型 默认 说明
files Iterable<MediaFile> 媒体文件

返回值 Promise<Ret<string[]>>

# Client.getRoamingStamp(no_cache?: )

获取漫游表情

参数 类型 默认 说明
no_cache? boolean false 是否不用缓存中的

返回值 Promise<Ret<string[]>>

# Client.getCookies(domain)

获取cookie

提示

使用方法见web-api

参数 类型 默认 说明
domain? Domain `` 域名

返回值 Promise<Ret<{ cookies: string }>>

# Domain

"tenpay.com" "docs.qq.com" "office.qq.com" "connect.qq.com" "vip.qq.com" "mail.qq.com" "qzone.qq.com" "gamecenter.qq.com" "mma.qq.com" "game.qq.com" "qqweb.qq.com" "openmobile.qq.com" "qun.qq.com" "ti.qq.com"

# Client.getCsrfToken() 弃用

获取CsrfToken

提示

使用方法见web-api

注意

已弃用 请直接访问 Client.cookies[domain]

返回值 Promise<Ret<{ token: number }>>

# Client.cleanCache(type)

清除 image 和 record 文件夹下的缓存文件

参数 类型 默认 说明
type? "image"\|"record" `` 类型

返回值 Promise<Ret>

# Client.getStatus() 弃用

获取在线状态和数据统计

注意

已弃用 请直接访问 Client.stat

参数 类型 默认 说明
type? "image"\|"record" `` 类型

返回值 Promise<Ret<Status>>

# Status 弃用

属性 类型 默认 说明
online boolean 是否在线
status number 在线状态
remote_ip? number `` 服务器远程ip
remote_port? number `` 服务器远程端口
msg_cnt_per_min number 每分钟消息数
statistics Statistics 数据统计信息
config ConfBot 实例配置

# Client.reloadFriendList()

重载好友列表 完成之前无法调用任何api,也不会上报任何事件

返回值 Promise<Ret>

# Client.reloadGroupList()

重载群列表 完成之前无法调用任何api,也不会上报任何事件

返回值 Promise<Ret>

# Client.sendUni(cmd, body)内部

隐藏方法,可用于扩展协议
发送一个未加密的uni包

参数 类型 默认 说明
cmd string
body Uint8Array

返回值 Promise<Ret<Buffer>>

# Client.sendOidb(cmd, body)内部

隐藏方法,可用于扩展协议
发送一个未加密的oidb包

参数 类型 默认需 说明
cmd string
body Uint8Array

返回值 Promise<Ret<Buffer>>

# Client.em(name: string, data?: any)内部

隐藏方法,可用于扩展协议
触发一个oicq标准事件

参数 类型 默认 说明
name string 事件名
data? any 参数

# Client.getGroupNotice(group_id) 弃用

获取群公告

注意

该方法已废弃,参考web-api自行获取

参数 类型 默认 说明
group_id number 群号

返回值Promise<Ret<any[]>>

# Client.getLevelInfo(user_id) 弃用

获取等级信息

注意

该方法已废弃,参考web-api自行获取

参数 类型 默认 说明
user_id? number `` qq

返回值 Promise<Ret<any>>

# Client.canSendImage() 弃用

是否能发图(没用)

注意

该方法已废弃,参考web-api自行获取

返回值 Promise<Ret>

# Client.canSendRecord() 弃用

是否能发语音(没用)

注意

该方法已废弃,参考web-api自行获取

返回值 Promise<Ret>

# Client.getVersionInfo() 弃用

获取版本信息(没用)

注意

该方法已废弃,参考web-api自行获取

返回值 Promise<Ret>

# 其他参数

# Ret<object>

应用类方法返回参数

属性 说明 成功 异步 失败
retcode 状态码 0 1 retcode
status 状态 "ok" "async" "failed"
data <object>(返回的数据) Object null null
error 错误 null null RetError

# retcode

说明
0 成功
1 异步
100 参数错误
102 失败
103 超时
104 客户端未上线

# RetError

错误信息对象

属性 类型 说明
code number 错误码
message string 错误信息

# MessageElem

群权限

说明
TextElem 一般文本消息
AtElem 艾特某人
FaceElem 经典表情
BfaceElem 原创表情
MfaceElem 魔法表情
ImgPttElem 图片,闪照,语音
LocationElem 地点分享
MusicElem 音乐分享
ShareElem 链接分享
JsonElem json消息
XmlElem xml卡牌消息
AnonymousElem 匿名消息
ReplyElem 回复
NodeElem 合并转发
ShakeElem 窗口抖动
PokeElem 戳一戳
FileElem 文件(仅接收)
VideoElem 视频
MiraiElem 该元素仅mirai系的客户端可解析,官方客户端无法识别

说明

所有的消息类型都是对象 内有type<string>属性和data<object>属性

# TextElem

文本消息

  • type

    说明
    text 文本
  • data

    属性 类型 默认 说明
    text string 消息文本

# AtElem

艾特某人

  • type

    说明
    "at" 艾特某人
  • data

    属性 类型 默认 说明
    qq number|"all" 艾特的对象,all为全体
    text? string '@'+qq|q名 at失败时显示的文本
    dummy? boolean false 假at,只显示艾特文本

# FaceElem

经典表情

  • type

    说明
    "face"
    "sface"
  • data

    属性 类型 默认 说明
    id number 表情id
    text? string

# BfaceElem

原创表情

  • type

    说明
    "bface" 原创表情
  • data

    属性 类型 默认 说明
    file string 文件路径
    text string

# MfaceElem

魔法表情

  • type

    说明
    "rps" 猜拳
    "dice" 骰子
  • data

    属性 类型 默认 说明
    id number

# ImgPttElem

图片,闪照,语音

  • type

    说明
    "image" 图片
    "flash" 闪照
    "record" 语音
  • data

    属性 类型 默认 说明
    file MediaFile 文件
    cache? boolean true file为网络资源时是否使用缓存
    timeout? number `` file为网络资源时请求超时时间
    headers? OutgoingHttpHeaders `` file为网络资源时请求头
    url? string `` 资源地址,仅接收时有
    type? string "image"|"flash"|"face" 类型
# MediaFile
类型 说明
string 等同于[CQ:image]中的file参数,string支持以下写法:
'http(s)://'
'base64://'
'/tmp/example.jpg' 本地绝对路径
'example.jpg' 本地相对(于启动目录的)路径
'file:///'
'protobuf://' 仅用于语音和视频的转发
Uint8Array
ArrayBuffer
SharedArrayBuffer

# LocationElem

地点分享

  • type

    说明
    "location" 地点分享
  • data

    属性 类型 默认 说明
    address string 地点名
    lat number 纬度
    lng number 经度
    name? string
    id? string

# MusicElem

音乐分享

  • type

    说明
    "music" 音乐分享
  • data

    属性 类型 默认 说明
    type MusicType 平台名
    id string 音乐id
# MusicType
说明
"qq" QQ影音
"163" 网抑云音乐
"migu" 咪咕音乐
"kugou" 酷狗音乐
"kuwo" 酷我音乐

# ShareElem

链接分享

  • type

    说明
    "share" 链接分享
  • data

    属性 类型 默认 说明
    url string 链接
    title string 标题
    content? string `` 内容
    image? string `` 预览图

# JsonElem

JSON消息

  • json消息

    说明
    "json" json消息
  • data

    属性 类型 默认 说明
    data any 一个 json 字符串或一个 json 对象
    text? string ``

# XmlElem

xml卡牌消息

  • type

    说明
    "xml" xml卡牌消息
  • data

    属性 类型 默认 说明
    data string
    type? number `` type为35的是合并转发
    text? string ""

# AnonymousElem

匿名消息

  • type

    说明
    "anonymous" 匿名消息
  • data

    属性 类型 默认 说明
    ignore? boolean true 匿名失败时是否继续发送

# ReplyElem

引用回复

  • type

    说明
    "reply" 回复
  • data

    属性 类型 默认 说明
    id string message_id

# NodeElem

node

  • type

    说明
    "node"
  • data

    属性 类型 默认 说明
    id string

# ShakeElem

窗口抖动

  • type

    说明
    "shake" 窗口抖动

# PokeElem

戳一戳

  • type

    说明
    "poke" 戳一戳
  • data

    属性 类型 默认 说明
    type number 0~6,分别对应哪种戳的类型
    id? number ``

# FileElem

文件(仅接受)

  • type

    说明
    "file" 文件(仅接受)
  • data

    属性 类型 默认 说明
    name string 文件名
    url string 资源链接
    size number 大小,单位[]
    md5 string md5
    duration number
    busid弃用 number
    fileid弃用 string
    fid string

# VideoElem

视频

  • type

    说明
    "video" 视频
  • data

    属性 类型 默认 说明
    file string 发送仅支持本地文件路径或转发
    url? string 仅接收

# MiraiElem

该元素仅mirai系的客户端可解析,官方客户端无法识别

  • type

    说明
    "mirai" mirai消息
  • data

    属性 类型 默认 说明
    data string

# CommonRequestEventData

公共请求事件数据
继承于公共事件数据

属性 类型 说明
post_type string "request"
user_id number qq
nickname string 昵称
flag string 同意或拒绝时传入

# CommonEventData

公共事件数据

属性 类型 说明
self_id number qq
time number 10位时间戳
post_type string "system" | "request" | "message" | "notice" | "sync"| string 事件类型
sub_type? string

# CommonMessageEventData

公共消息数据
继承于 公共事件数据

属性 类型 说明
post_type string "message"
message MessageElem[] 消息链
raw_message string 字符串格式的消息
message_id string 消息id
user_id number qq
font string
reply function reply 可直接使用这个函数回复消息

# reply(message, auto_escape)

属性 类型 说明
message MessageElem | Iterable<MessageElem|string> | string
auto_escape? boolean

返回值 Promise<Ret<{ message_id|string }>>

# PrivateMessageEventData

私聊消息数据 继承于公共消息数据

属性 类型 说明
message_type string "private" 私聊消息
sub_type string "friend" | "group" | "single" | "other" | "self"
sender FriendInfo 发送者
auto_reply boolean 是否自动回复

# GroupMessageEventData

群聊消息数据 继承于公共消息数据

属性 类型 说明
message_type string "group" 群消息
sub_type string "normal" | "anonymous" 类型
group_id number 群号
group_name string 群名
anonymous Anonymous | null 匿名消息
sender MemberBaseInfo 发送者
atme boolean
seqid number
block boolean 是否已屏蔽

# Anonymous

# GfsBaseStat

群文件基础属性

属性 类型 说明
fid string 文件(夹)id
pid string 父文件夹id
name string
user_id number 创建者
create_time number 创建时间
Last Updated: 10/4/2021, 12:26:33 AM