set_account_delegation
为插件已管理的账号建立或更新持久委托限制。
适用协议
Android / Linux QQ;仅限已授权的托管 IPC 插件,HTTP / WebSocket 不可调用。
插件清单及当前连接必须获准调用对应动作。安装实例和授权标识由框架注入,不能通过请求参数指定或伪造。接口只增加业务限制,不授予实例授权、权益或 QQ 等级豁免。
调用方式
json
{
"type": "action",
"id": "set_account_delegation-1",
"action": "set_account_delegation",
"params": {
"self_id": 123456789,
"protocol_id": 0,
"device_profile_id": 1,
"request_id": "account-order-example-1",
"revision": 0,
"allow_login": true,
"allow_tasks": true,
"expires_at": 2000000000
}
}示例中的 QQ、指纹 ID、到期时间和凭据请替换为真实值。
参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
self_id | integer | 是 | QQ 号,10000–9999999999。 |
protocol_id | integer | 是 | 账号协议 ID,必须显式提供,0 有效。 |
device_profile_id | integer | 是 | 当前账号绑定的设备指纹 ID。 |
request_id | string | 是 | 8–128 位字母、数字、下划线、点或连字符;发送前持久保存的幂等标识。 |
revision | integer | 是 | 首次创建传 0;更新传最近返回的修订号。 |
allow_login | boolean | 是 | 是否允许登录,必须显式提供。 |
allow_tasks | boolean | 是 | 是否允许执行等级任务,必须显式提供。 |
expires_at | integer | 是 | UTC Unix 秒,范围 0–253402300799;任一允许项为 true 时必须为未来时间。 |
receipt | string | 否 | 首次省略或传空;更新必须传原始凭据。 |
首次调用要求 QQ、协议及设备指纹与当前框架中的账号一致。先保存 request_id,再发送请求;响应丢失后以同一标识和原始请求重试,可取回当前快照。相同标识搭配不同初始内容会冲突。重放只取回当前快照,即使已经到期也不会自动延期。
更新时保留原身份、request_id 和 receipt,并提供最近的 revision。修订号过期时先读取再决定如何更新,不能盲目放宽权限。两个允许项都为 false 时,expires_at 可以为 0。
框架会在插件停止、崩溃或框架重启后继续执行限制。账号改协议或改指纹不会静默转移委托;需要明确核对身份后重新绑定。网络超时或范围错误不能触发自动重新绑定。
返回值
成功响应的 data 为委托快照:
| 字段 | 类型 | 说明 |
|---|---|---|
receipt | string | 不透明委托凭据;只保存在插件服务端私有存储中 |
revision | integer | 当前修订号,用于后续更新或释放的并发校验 |
status | string | present、deleted、outside_scope、replaced 或 revoked |
allow_login | boolean | 仅 present 时提供,是否允许登录 |
allow_tasks | boolean | 仅 present 时提供,是否允许执行等级任务 |
expires_at | integer | 仅 present 时提供,UTC Unix 秒;仍需检查是否已过期 |
released | boolean | 释放成功时为 true,其余情况省略 |
响应不包含 QQ 号、设备指纹、其他所有者或迁移目标信息。网络、数据库和权限错误都返回失败,不能当作账号已删除。
状态语义和完整流程见托管 IPC 委托接口。
