qqpet_operation
按业务流程操作 QQ 宠物,包含状态读取、喂养、活动和 PK。
适用协议
Android(手机 / 平板);不支持 Linux QQ。
调用方式
{
"type": "action",
"id": "qqpet_operation-1",
"action": "qqpet_operation",
"params": {
"self_id": 123456789,
"protocol_id": 0,
"operation": "catalog"
}
}参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
self_id | number | 是 | 当前框架内的 QQ 号,5–10 位整数。 |
protocol_id | number | 是 | 账号实例的协议 ID;必须显式提供,0 是有效 ID。用 get_protocol_list 查询,不使用 client_type 替代。 |
operation | string | 是 | catalog 或本页列出的业务操作名。 |
request | object | 按操作 | 各操作的参数;最多 16 KiB,不能传 self_id、protocol_id、client_type 或未声明字段。 |
返回值
data 为 { self_id: number, operation: string, response: any },response 随 operation 改变。
catalog 的 response 是 { operation: string, fields: { name, type, required }[] }[],用于读取此版本的准确参数目录。
常用业务返回:
| operation | response |
|---|---|
food.catalog | foods 数组(food_id、name、balance、resource_id)、biscuit_count、shrimp_count、inventory_known;未知库存为 null |
bath.inventory | { item_id: string, count: number }[] |
medals | { pet_id, medals },每枚勋章带 acquired/equipped |
activity.options | { activity, career_name, options } |
pk.power | { pet_id, dominant_type, power } |
interactions | { messages };每项含 user_id、segments、text、timestamp、message_id、pet_name、event_type |
activity.start、pk.start | { submitted: true, pet_id, story_id };缺少服务端任务 ID 时返回错误 |
food.feed、friend.feed、friend.poke | submitted / effect_verified,以及当前宠物或好友标识 |
food.buy | submitted、bought、cost_gold、effect_verified;可选 balance、gold |
profile | pet_id、user_id、pet_name、birthday_at、gender、species、personality、avatar_url、personality_url、level、current_exp、level_exp、exp_rate、medals、power、personality_attributes、personality_attribute_count、career、pk_power、source;缓存降级时只返回基础标识和 partial=true |
friend.profile | 档案基础字段、friend_uin、source、vitals;显式/缓存 pet_id 降级时 partial=true,不补造完整档案 |
vitals | pet_id、mood、hunger、cleanliness、total、gold;成功响应省略的数值按 0 返回 |
attributes | { attributes: { name: string, value: number }[] } |
bath.catalog | 数组,每项含 name、item_id、gold_price、clean_gain、mood_gain、description、default_count、step、minimum、maximum 及预览资源 URL |
bath.use、friend.bathe | submitted、effect_verified、宠物/好友标识;服务端给出时附 clean、mood、remaining、completed、extra_1、extra_2 |
bath.buy | { submitted: true, result: number, order_id: string, effect_verified: false };result 是商城业务结果,必须读取库存确认 |
activity.overview | activity、current_stage、entries(name/career_type/status_code/message)、current_career_type、last_sub_event_type、attributes |
activity.status | story_id、state_code、remaining_seconds、duration_seconds、started_at、recallable、finished |
activity.encourage | submitted、effect_verified、pet_id、messages、toast;服务端给出时附 credit |
activity.settle、pk.settle | submitted、pet_id、story_id、effect_verified;冒险结算还返回 reward_gold 和 gold_rewards |
pk.status | pet_id、story_id、raw_body_hex、status_known、finished |
pk.friends、pk.strangers | friends 数组(pet_id、pet_name、user_id、nickname、displayed_pk_power、pet_status、dominant_type)、next_cursor、has_more |
fatigue | fatigued、tier、benefitRate、todayHours、reason、known、warnings、activity、option_name;无法识别提示时 known=false,相关判断值为 null |
friend.visit | submitted、effect_verified、pet_id、friend_uin、rules_before;回读成功附 rules_after/trace,回读失败附 verification_error |
submitted: true 表示已提交,effect_verified: false 表示尚未回读确认效果,不等同于已完成。请求使用 friend_id,但部分业务结果仍使用 friend_uin 返回同一好友 QQ 号字符串。
注意事项
pet_id 是宠物 ID,不是 QQ 号;好友 QQ 使用字符串 friend_id。每次调用最多 60 秒。写操作不自动重试;超时后先读取活动、库存或 PK 状态,避免重复购买或发起。
count / limit 显式提供时范围 1–100;洗护 count 进一步限制为 1–99。activity 只允许 school、work、adventure;stage 为 0–4。好友雇佣须同时提供 friend_id 与 friend_pet_id,school 不支持雇佣。目录受 QQ 客户端版本限制时会明确返回错误,不会伪造目录。
支持的业务操作
通过 qqpet_operation 的 operation 参数调用以下业务,catalog 只读取这份操作目录。操作名区分大小写,不接受前后空格;不在此表内的操作返回 API_REMOVED。
| 分类 | 业务 | operation |
|---|---|---|
| 资料与属性 | 获取宠物资料 | profile |
| 资料与属性 | 获取宠物勋章图鉴 | medals |
| 资料与属性 | 获取宠物数值 | vitals |
| 资料与属性 | 获取宠物三维属性 | attributes |
| 喂食与洗护 | 获取食物目录 | food.catalog |
| 喂食与洗护 | 给宠物喂食 | food.feed |
| 喂食与洗护 | 购买宠物食物 | food.buy |
| 喂食与洗护 | 获取洗护用品目录 | bath.catalog |
| 喂食与洗护 | 获取洗护用品库存 | bath.inventory |
| 喂食与洗护 | 给宠物洗护 | bath.use |
| 喂食与洗护 | 购买洗护用品 | bath.buy |
| 活动与疲劳 | 获取活动概览 | activity.overview |
| 活动与疲劳 | 获取活动选项 | activity.options |
| 活动与疲劳 | 开始宠物活动 | activity.start |
| 活动与疲劳 | 获取活动状态 | activity.status |
| 活动与疲劳 | 结算宠物活动 | activity.settle |
| 活动与疲劳 | 鼓励活动中的宠物 | activity.encourage |
| 活动与疲劳 | 获取宠物疲劳状态 | fatigue |
| 好友与 PK | 获取 PK 好友列表 | pk.friends |
| 好友与 PK | 获取推荐 PK 对手 | pk.strangers |
| 好友与 PK | 获取宠物互动消息 | interactions |
| 好友与 PK | 获取宠物 PK 数值 | pk.power |
| 好友与 PK | 戳一戳好友宠物 | friend.poke |
| 好友与 PK | 获取好友宠物资料 | friend.profile |
| 好友与 PK | 给好友宠物喂食 | friend.feed |
| 好友与 PK | 给好友宠物洗护 | friend.bathe |
| 好友与 PK | 访问好友宠物 | friend.visit |
| 好友与 PK | 发起宠物 PK | pk.start |
| 好友与 PK | 获取宠物 PK 状态 | pk.status |
| 好友与 PK | 结算宠物 PK | pk.settle |
例如读取宠物资料:
{ "type": "action", "id": "pet-profile-1", "action": "qqpet_operation", "params": { "self_id": 123456789, "protocol_id": 0, "operation": "profile", "request": {} } }操作参数
以下字段均位于 request 对象内。
profile
档案、生日、性别、等级经验、勋章、实时 PK 战力、性格属性与当前职业。
request 传 {} 或省略。
vitals
读取宠物基础数值与金币;成功响应中缺失的数值字段按 0 返回。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
pet_id | string | 是 | 宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替 |
attributes
读取学习场景中的力量、智力、魅力。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
pet_id | string | 是 | 宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替 |
medals
完整勋章及获得、佩戴状态。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
pet_id | string | 是 | 宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替 |
food.catalog
读取食物目录与库存;服务端未提供的库存返回 null。
request 传 {} 或省略。
food.feed
给目标宠物喂食,可指定食物;提交后读取数值确认效果。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
pet_id | string | 是 | 宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替 |
food_id | string | 否 | 指定食物 ID;不传或空串使用默认食物 |
feed_type | number | 否 | 喂食类型:0(默认)、1001、9990032、9990033、9990034 |
food.buy
按当前购买包补充默认食物,返回购得数量和金币花费。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
count | number | 是 | 正整数数量;洗护购买须满足目录步进及上下限 |
bath.catalog
含价格、数量步进、上下限及完整图形资源。
request 传 {} 或省略。
bath.inventory
读取用品 ID 与数量。
request 传 {} 或省略。
bath.use
给目标宠物使用洗护道具,可指定数量。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
pet_id | string | 是 | 宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替 |
item_id | string | 是 | 洗护目录返回的用品 ID |
count | number | 否 | 使用数量 1–99,默认 1 |
bath.buy
购买数量 count 大于 0 即提交商城订单,不预查目录或校验目录数量上下限、步进。业务 result 和 order_id 按响应返回,由调用方判断购买结果。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
pet_id | string | 是 | 宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替 |
item_id | string | 是 | 洗护目录返回的用品 ID |
count | number | 是 | 购买数量,大于 0;不校验目录上下限或步进 |
activity.overview
读取学段、职业列表、当前职业和上次子事件。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
pet_id | string | 是 | 宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替 |
activity | string | 是 | school / work / adventure |
activity.options
读取学习、打工或冒险选项、时长、奖励与可用状态。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
pet_id | string | 是 | 宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替 |
activity | string | 是 | school / work / adventure |
career_type | number | 否 | 职业总览返回的职业类型;不传则选第一个可用职业 |
stage | number | 否 | 学习阶段 0–4;不传则读取总览 |
friend_pet_id | string | 否 | work / adventure 可选雇佣好友宠物 ID;school 不接受 |
activity.start
按选项目录发起活动;打工与冒险支持同时提供好友 QQ 和宠物 ID。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
pet_id | string | 是 | 宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替 |
activity | string | 是 | school / work / adventure |
option_name | string | 是 | 选项目录返回的原始名称 |
sub_event_type | number | 是 | 目录返回的子事件类型;学习/打工须大于 0,冒险允许 0 |
friend_id | string | 否 | 好友 QQ 号的十进制字符串;协议需要时显式传入 |
friend_pet_id | string | 否 | 好友或对手宠物 ID,由调用方保存或从目录获得 |
activity.status
读取状态与 finished 判定。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
pet_id | string | 是 | 宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替 |
activity.settle
只结算已完成的当前活动;冒险返回 reward_gold。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
pet_id | string | 是 | 宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替 |
story_id | string | 是 | 状态接口返回的当前任务 ID;必须与目标活动类型匹配 |
activity.encourage
对指定当前活动提交鼓励,不补造积分或奖励。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
pet_id | string | 是 | 宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替 |
story_id | string | 是 | 状态接口返回的当前任务 ID;必须与目标活动类型匹配 |
fatigue
优先可用职业,回退学习,按最短选项 warning 判断疲劳。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
pet_id | string | 是 | 宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替 |
pk.friends
读取宠物好友目录;目录受版本限制时返回错误,已有真实 pet_id 可直接查询数值。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
cursor | string | 否 | 服务端返回的下一页游标 |
pk.strangers
读取宠物陌生人目录;目录受版本限制时返回错误,不生成替代条目。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
cursor | string | 否 | 服务端返回的下一页游标 |
mode | number | 否 | 查询模式,非负安全整数;不传默认 4,显式传值原样发送 |
interactions
读取互动文本、消息分段、时间、来源和事件类型。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
limit | number | 否 | 消息条数,非负安全整数,默认 20;不限制 1–50,显式传值原样发送 |
pk.power
传本人或对手 petId;战力非正数时报 pk_power_missing。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
pet_id | string | 是 | 宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替 |
friend.poke
协议明确要求好友 QQ 号,使用 varint 编码。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
friend_id | string | 是 | 好友 QQ 号的十进制字符串;协议需要时显式传入 |
friend.profile
查询好友档案或实时数值;支持显式 pet_id,并在低版本错误时复用当前账号 15 分钟内已验证的好友 ID。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
friend_id | string | 是 | 好友 QQ 号的十进制字符串;协议需要时显式传入 |
pet_id | string | 否 | 宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替 |
friend.feed
给目标宠物喂食,可指定食物;提交后读取数值确认效果。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
pet_id | string | 是 | 宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替 |
friend_id | string | 是 | 好友 QQ 号的十进制字符串;协议需要时显式传入 |
food_id | string | 否 | 指定食物 ID;不传或空串使用默认食物 |
feed_type | number | 否 | 喂食类型:0(默认)、1001、9990032、9990033、9990034 |
friend.bathe
给目标宠物使用洗护道具,可指定数量。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
pet_id | string | 是 | 宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替 |
item_id | string | 是 | 洗护目录返回的用品 ID |
friend_id | string | 是 | 好友 QQ 号的十进制字符串;协议需要时显式传入 |
count | number | 否 | 使用数量 1–99,默认 1 |
friend.visit
走访目标好友宠物,提交前查询可用规则,提交后回读规则。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
pet_id | string | 是 | 目标好友的宠物 ID,必须与 friend_id 对应 |
friend_id | string | 是 | 好友 QQ 号的十进制字符串;协议需要时显式传入 |
pk.start
显式本人和对手 petId,固定场景 6900 与子事件 6901。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
pet_id | string | 是 | 宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替 |
friend_id | string | 是 | 好友 QQ 号的十进制字符串;协议需要时显式传入 |
friend_pet_id | string | 是 | 好友或对手宠物 ID,由调用方保存或从目录获得 |
pk.status
查询指定 PK:请求成功且 body 为空表示已完成,body 非空表示进行中;任务无效等错误直接返回。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
pet_id | string | 是 | 宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替 |
story_id | string | 是 | 状态接口返回的当前任务 ID;必须与目标活动类型匹配 |
pk.settle
直接提交一次 PK 结算,不预先查询 PK 状态;提交后请复查数值确认效果。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
pet_id | string | 是 | 宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替 |
story_id | string | 是 | 发起 PK 返回的任务 ID,必须以 6900_ 开头 |
调用条件
不额外限制 QQ 等级。仍需满足账号在线、当前授权及接口本身的业务条件。
