工具网 QQ 工具 · 接口文档

用于 QQ 机器人对接,覆盖从登录到设置的完整流程 · 独立 API 入口 api.php

一、接口概述

接口地址:

https://你的域名/api.php

请求方式:支持 POSTGET(参数优先读取 POST,其次 GET;cookie 内容较长且含特殊字符,强烈建议用 POST)

统一返回格式(JSON):

字段类型说明
codeint状态码,0 表示成功,-1 表示失败
msgstring状态说明,成功为 success,失败为具体错误原因
dataobject/null返回数据,失败时为 null
所有接口统一走 act 参数区分动作:api.php?act=动作名

二、Cookie 凭证说明(重要)

工具网复用 QQ 的登录凭证(cookie)来调用腾讯接口。不同功能需要不同类型的 cookie:

登录类型关键字段适用接口
qzone(QQ空间)p_skeyuinsetnick(改昵称)、friendlist(好友)、shuoshuolist(说说)、login(验证)
vip(QQ会员)skeypt4_tokenuinsetmodel(自定义机型)、getisvip(查VIP)
qun(QQ群)skeyuingrouplist、groupmembers、announcelist、delannounce、dismissgroup、getjoinlink
cookie 可通过 getqrpic + qrlogin 扫码登录获取(登录成功后返回完整 cookie),或由机器人端已登录的 QQ 直接提供。

三、接口目录

1. 扫码登录 1.1 获取二维码 1.2 轮询登录结果 1.3 验证凭证 2. 设置QQ昵称 3. 自定义在线机型 4. 好友列表 5. 说说列表 6. 查询VIP 7. 群列表 8. 群成员 9. 群公告 10. 删除群公告 11. 解散群 12. 加群链接 13. QQ等级查询

四、登录相关接口

1.1 获取登录二维码

获取 QQ 扫码登录二维码,返回 base64 图片和 qrsig 会话标识。

GETPOSTact=getqrpic

api.php?act=getqrpic&type=qzone

请求参数

参数名类型必填说明
actstring固定值 getqrpic
typestring登录类型:qzone(默认)/ vip / qun / qqid

请求示例

GET https://你的域名/api.php?act=getqrpic&type=vip

返回参数

字段类型说明
codeint0 成功,-1 失败
msgstring状态说明
data.qrsigstring二维码会话标识,轮询登录时需回传
data.datastring二维码图片的 base64 编码(机器人可解码后展示给用户扫码)
data.typestring登录类型

返回示例

{ "code": 0, "msg": "success", "data": { "qrsig": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": "iVBORw0KGgoAAAANSUhEUg...(base64 图片)", "type": "vip" } }

1.2 轮询扫码登录结果

用户扫码后,轮询此接口获取登录结果。成功时返回 QQ 号和完整 cookie。

GETPOSTact=qrlogin

api.php?act=qrlogin&type=vip&qrsig=xxx

请求参数

参数名类型必填说明
actstring固定值 qrlogin
typestring与获取二维码时一致的登录类型
qrsigstring获取二维码时返回的 qrsig

请求示例

GET https://你的域名/api.php?act=qrlogin&type=vip&qrsig=xxxxxxxx

返回参数(登录成功)

字段类型说明
codeint0 成功
msgstring登录成功时为 登录成功
data.uinstring登录的 QQ 号
data.cookiestring完整登录 cookie(含 skey / p_skey / pt4_token 等,后续接口需用到)
data.nicknamestringQQ 昵称
data.typestring登录类型

返回参数(等待中)

data.status说明
waiting未扫码 / 未确认,继续轮询
verifying正在验证,继续轮询
expired二维码已失效,需重新获取二维码

返回示例(登录成功)

{ "code": 0, "msg": "登录成功", "data": { "uin": "123456789", "cookie": "uin=o0123456789; skey=@xxxxxxx; p_skey=xxxxxxxx; pt4_token=xxxx; ...", "nickname": "小辞", "type": "vip" } }

返回示例(等待扫码)

{ "code": 0, "msg": "waiting", "data": { "status": "waiting" } }

1.3 验证凭证

验证 QQ 号和 cookie 是否有效(通过拉取好友列表探测)。

GETPOSTact=login

api.php?act=login

请求参数

参数名类型必填说明
actstring固定值 login
qqstringQQ 号
cookiestringqzone 类型 cookie(含 p_skey)

请求示例

POST https://你的域名/api.php Content-Type: application/x-www-form-urlencoded act=login&qq=123456789&cookie=uin=o0123456789; p_skey=xxxxxxxx; ...

返回参数

字段类型说明
codeint0 凭证有效,-1 凭证失效/错误
data.qqstring验证的 QQ 号

返回示例

{ "code": 0, "msg": "凭证有效", "data": { "qq": "123456789" } }

五、设置 QQ 昵称

修改指定 QQ 账号的昵称(复用 qzone cookie 的 p_skey)。

GETPOSTact=setnick

api.php?act=setnick

请求参数

参数名类型必填说明
actstring固定值 setnick
qqstring要修改昵称的 QQ 号
cookiestringqzone 类型 cookie(含 p_skey)
nicknamestring新昵称内容

请求示例

POST https://你的域名/api.php Content-Type: application/x-www-form-urlencoded act=setnick&qq=123456789&cookie=uin=o0123456789; p_skey=xxxxxxxx; ...&nickname=我的新昵称

返回参数

字段类型说明
codeint0 修改成功,-1 失败
data.nicknamestring已设置的昵称

返回示例

{ "code": 0, "msg": "修改成功", "data": { "nickname": "我的新昵称" } }
失败常见原因:cookie 失效(-3000 需重新登录)、昵称为空、腾讯风控限流。

六、自定义在线机型

自定义 QQ 在线状态设备名(需 vip 类型 cookie,含 skey + pt4_token)。

GETPOSTact=setmodel

api.php?act=setmodel

请求参数

参数名类型必填说明
actstring固定值 setmodel
qqstringQQ 号
cookiestringvip 类型 cookie(含 skey、pt4_token)
modelstring机型名称,如 iPhone 16 Pro Max
imeistring设备 IMEI(安卓为 androidID,iPhone 为 msf_identifier)
descstring自定义前缀描述,可为空

请求示例

POST https://你的域名/api.php Content-Type: application/x-www-form-urlencoded act=setmodel&qq=123456789&cookie=uin=o0123456789; skey=@xxxxx; pt4_token=xxxx; ...&model=iPhone 16 Pro Max&imei=askle79087446&desc=

返回参数

字段类型说明
codeint0 修改成功,-1 失败
data.modelstring已设置的机型名称

返回示例

{ "code": 0, "msg": "修改成功", "data": { "model": "iPhone 16 Pro Max" } }

七、查询类接口

4. 好友列表

act=friendlist 参数:qq(必填)、cookie(必填,qzone 类型)

api.php?act=friendlist

请求示例

POST https://你的域名/api.php act=friendlist&qq=123456789&cookie=uin=o0123456789; p_skey=xxxx; ...

返回参数

字段类型说明
data.listarray好友列表(uin、nick、remark、groupid)
data.gpnamesarray好友分组名称

返回示例

{ "code": 0, "msg": "success", "data": { "list": [ { "uin": "987654321", "nick": "好友A", "remark": "", "groupid": 0 } ], "gpnames": [ { "gpid": 0, "gpname": "我的好友" } ] } }

5. 说说列表

act=shuoshuolist 参数:qq(必填)、cookie(必填,qzone 类型)、count(可选,默认 20)

api.php?act=shuoshuolist&qq=123456789&count=20

返回参数

字段类型说明
dataarray说说动态列表(vFeeds)

6. 查询 VIP

act=getisvip 参数:cookie(必填,vip 类型,含 skey)

api.php?act=getisvip

返回参数

字段类型说明
data.is_vipint是否 QQ 会员,1 是 / 0 否

返回示例

{ "code": 0, "msg": "success", "data": { "is_vip": 1 } }

八、群工具接口

7. 群列表

act=grouplist 参数:qq(必填)、cookie(必填,qun 类型,含 skey)

api.php?act=grouplist

返回参数

字段类型说明
dataarray群列表(含 gc、gn 群号群名等)

8. 群成员

act=groupmembers 参数:cookie(必填,qun 类型)、groupid(必填)、start(可选,默认 0)、end(可选,默认 20)

api.php?act=groupmembers&groupid=123456789&start=0&end=20

返回参数

字段类型说明
data.countint群成员总数
data.memsarray本页成员列表
data.startint下一页起始位置(0 表示已取完)

9. 群公告

act=announcelist 参数:cookie(必填,qun 类型)、groupid(必填)、start(可选,默认 0)

api.php?act=announcelist&groupid=123456789&start=0

返回参数

字段类型说明
data[]array公告列表,每项含 fid(公告ID)、uinnicktimemsg

10. 删除群公告

act=delannounce 参数:cookie(必填)、groupid(必填)、fid(必填,公告ID)

api.php?act=delannounce

返回示例

{ "code": 0, "msg": "删除成功", "data": null }

11. 解散群

act=dismissgroup 参数:qq(必填)、cookie(必填,qun 类型)、groupid(必填)

api.php?act=dismissgroup

返回示例

{ "code": 0, "msg": "解散成功", "data": null }

act=getjoinlink 参数:cookie(必填,qun 类型)、groupid(必填)

api.php?act=getjoinlink&groupid=123456789

返回参数

字段类型说明
datastring加群链接

返回示例

{ "code": 0, "msg": "success", "data": "https://qm.qq.com/q/xxxxx" }

九、QQ 等级查询

查询 QQ 等级(走第三方接口,需在 api.php 顶部配置 $QQLEVEL_API_URL / $QQLEVEL_API_KEY$YAPI_TOKEN)。

act=qqlevel 参数:qq(必填)

api.php?act=qqlevel&qq=123456789

返回参数

字段类型说明
data.sNickNamestringQQ 昵称
data.iQQLevelintQQ 等级
data.iTotalActiveDayint注册时长(天)
data.iNextLevelDayint下次升级天数
未配置第三方接口时,该接口返回「请先配置API接口参数」。

十、通用错误说明

code说明
0成功
-1失败,具体原因见 msg 字段
常见失败:cookie 失效(请重新登录)、参数缺失、腾讯接口风控/限流、IMEI 错误。