Skip to content

qqpet_operation ​

按业务流程操作 QQ 宠物,包含状态读取、喂养、活动和 PK。

适用协议

Android(手机 / 平板);不支持 Linux QQ。

调用方式 ​

json
{
  "type": "action",
  "id": "qqpet_operation-1",
  "action": "qqpet_operation",
  "params": {
    "self_id": 123456789,
    "protocol_id": 0,
    "operation": "catalog"
  }
}

参数 ​

参数类型必填说明
self_idnumber是当前框架内的 QQ 号,5–10 位整数。
protocol_idnumber是账号实例的协议 ID;必须显式提供,0 是有效 ID。用 get_protocol_list 查询,不使用 client_type 替代。
operationstring是catalog 或本页列出的业务操作名。
requestobject按操作各操作的参数;最多 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 }[] }[],用于读取此版本的准确参数目录。

常用业务返回:

operationresponse
food.catalogfoods 数组(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.pokesubmitted / effect_verified,以及当前宠物或好友标识
food.buysubmitted、bought、cost_gold、effect_verified;可选 balance、gold
profilepet_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,不补造完整档案
vitalspet_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.bathesubmitted、effect_verified、宠物/好友标识;服务端给出时附 clean、mood、remaining、completed、extra_1、extra_2
bath.buy{ submitted: true, result: number, order_id: string, effect_verified: false };result 是商城业务结果,必须读取库存确认
activity.overviewactivity、current_stage、entries(name/career_type/status_code/message)、current_career_type、last_sub_event_type、attributes
activity.statusstory_id、state_code、remaining_seconds、duration_seconds、started_at、recallable、finished
activity.encouragesubmitted、effect_verified、pet_id、messages、toast;服务端给出时附 credit
activity.settle、pk.settlesubmitted、pet_id、story_id、effect_verified;冒险结算还返回 reward_gold 和 gold_rewards
pk.statuspet_id、story_id、raw_body_hex、status_known、finished
pk.friends、pk.strangersfriends 数组(pet_id、pet_name、user_id、nickname、displayed_pk_power、pet_status、dominant_type)、next_cursor、has_more
fatiguefatigued、tier、benefitRate、todayHours、reason、known、warnings、activity、option_name;无法识别提示时 known=false,相关判断值为 null
friend.visitsubmitted、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发起宠物 PKpk.start
好友与 PK获取宠物 PK 状态pk.status
好友与 PK结算宠物 PKpk.settle

例如读取宠物资料:

json
{ "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_idstring是宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替

attributes ​

读取学习场景中的力量、智力、魅力。

参数类型必填说明
pet_idstring是宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替

medals ​

完整勋章及获得、佩戴状态。

参数类型必填说明
pet_idstring是宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替

food.catalog ​

读取食物目录与库存;服务端未提供的库存返回 null。

request 传 {} 或省略。

food.feed ​

给目标宠物喂食,可指定食物;提交后读取数值确认效果。

参数类型必填说明
pet_idstring是宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替
food_idstring否指定食物 ID;不传或空串使用默认食物
feed_typenumber否喂食类型:0(默认)、1001、9990032、9990033、9990034

food.buy ​

按当前购买包补充默认食物,返回购得数量和金币花费。

参数类型必填说明
countnumber是正整数数量;洗护购买须满足目录步进及上下限

bath.catalog ​

含价格、数量步进、上下限及完整图形资源。

request 传 {} 或省略。

bath.inventory ​

读取用品 ID 与数量。

request 传 {} 或省略。

bath.use ​

给目标宠物使用洗护道具,可指定数量。

参数类型必填说明
pet_idstring是宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替
item_idstring是洗护目录返回的用品 ID
countnumber否使用数量 1–99,默认 1

bath.buy ​

购买数量 count 大于 0 即提交商城订单,不预查目录或校验目录数量上下限、步进。业务 result 和 order_id 按响应返回,由调用方判断购买结果。

参数类型必填说明
pet_idstring是宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替
item_idstring是洗护目录返回的用品 ID
countnumber是购买数量,大于 0;不校验目录上下限或步进

activity.overview ​

读取学段、职业列表、当前职业和上次子事件。

参数类型必填说明
pet_idstring是宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替
activitystring是school / work / adventure

activity.options ​

读取学习、打工或冒险选项、时长、奖励与可用状态。

参数类型必填说明
pet_idstring是宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替
activitystring是school / work / adventure
career_typenumber否职业总览返回的职业类型;不传则选第一个可用职业
stagenumber否学习阶段 0–4;不传则读取总览
friend_pet_idstring否work / adventure 可选雇佣好友宠物 ID;school 不接受

activity.start ​

按选项目录发起活动;打工与冒险支持同时提供好友 QQ 和宠物 ID。

参数类型必填说明
pet_idstring是宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替
activitystring是school / work / adventure
option_namestring是选项目录返回的原始名称
sub_event_typenumber是目录返回的子事件类型;学习/打工须大于 0,冒险允许 0
friend_idstring否好友 QQ 号的十进制字符串;协议需要时显式传入
friend_pet_idstring否好友或对手宠物 ID,由调用方保存或从目录获得

activity.status ​

读取状态与 finished 判定。

参数类型必填说明
pet_idstring是宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替

activity.settle ​

只结算已完成的当前活动;冒险返回 reward_gold。

参数类型必填说明
pet_idstring是宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替
story_idstring是状态接口返回的当前任务 ID;必须与目标活动类型匹配

activity.encourage ​

对指定当前活动提交鼓励,不补造积分或奖励。

参数类型必填说明
pet_idstring是宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替
story_idstring是状态接口返回的当前任务 ID;必须与目标活动类型匹配

fatigue ​

优先可用职业,回退学习,按最短选项 warning 判断疲劳。

参数类型必填说明
pet_idstring是宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替

pk.friends ​

读取宠物好友目录;目录受版本限制时返回错误,已有真实 pet_id 可直接查询数值。

参数类型必填说明
cursorstring否服务端返回的下一页游标

pk.strangers ​

读取宠物陌生人目录;目录受版本限制时返回错误,不生成替代条目。

参数类型必填说明
cursorstring否服务端返回的下一页游标
modenumber否查询模式,非负安全整数;不传默认 4,显式传值原样发送

interactions ​

读取互动文本、消息分段、时间、来源和事件类型。

参数类型必填说明
limitnumber否消息条数,非负安全整数,默认 20;不限制 1–50,显式传值原样发送

pk.power ​

传本人或对手 petId;战力非正数时报 pk_power_missing。

参数类型必填说明
pet_idstring是宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替

friend.poke ​

协议明确要求好友 QQ 号,使用 varint 编码。

参数类型必填说明
friend_idstring是好友 QQ 号的十进制字符串;协议需要时显式传入

friend.profile ​

查询好友档案或实时数值;支持显式 pet_id,并在低版本错误时复用当前账号 15 分钟内已验证的好友 ID。

参数类型必填说明
friend_idstring是好友 QQ 号的十进制字符串;协议需要时显式传入
pet_idstring否宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替

friend.feed ​

给目标宠物喂食,可指定食物;提交后读取数值确认效果。

参数类型必填说明
pet_idstring是宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替
friend_idstring是好友 QQ 号的十进制字符串;协议需要时显式传入
food_idstring否指定食物 ID;不传或空串使用默认食物
feed_typenumber否喂食类型:0(默认)、1001、9990032、9990033、9990034

friend.bathe ​

给目标宠物使用洗护道具,可指定数量。

参数类型必填说明
pet_idstring是宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替
item_idstring是洗护目录返回的用品 ID
friend_idstring是好友 QQ 号的十进制字符串;协议需要时显式传入
countnumber否使用数量 1–99,默认 1

friend.visit ​

走访目标好友宠物,提交前查询可用规则,提交后回读规则。

参数类型必填说明
pet_idstring是目标好友的宠物 ID,必须与 friend_id 对应
friend_idstring是好友 QQ 号的十进制字符串;协议需要时显式传入

pk.start ​

显式本人和对手 petId,固定场景 6900 与子事件 6901。

参数类型必填说明
pet_idstring是宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替
friend_idstring是好友 QQ 号的十进制字符串;协议需要时显式传入
friend_pet_idstring是好友或对手宠物 ID,由调用方保存或从目录获得

pk.status ​

查询指定 PK:请求成功且 body 为空表示已完成,body 非空表示进行中;任务无效等错误直接返回。

参数类型必填说明
pet_idstring是宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替
story_idstring是状态接口返回的当前任务 ID;必须与目标活动类型匹配

pk.settle ​

直接提交一次 PK 结算,不预先查询 PK 状态;提交后请复查数值确认效果。

参数类型必填说明
pet_idstring是宠物 ID,须按接口说明区分本人或目标;不能用 QQ 号代替
story_idstring是发起 PK 返回的任务 ID,必须以 6900_ 开头

调用条件 ​

不额外限制 QQ 等级。仍需满足账号在线、当前授权及接口本身的业务条件。

萌卡 · 自托管 QQ 机器人框架