Skip to content

set_online_status

设置当前在线 Bot 的基础在线状态或 QQ 扩展状态。底层使用 QQ Android 9.2.70 的真实状态请求,不依赖 PC QQ。

调用

js
await api.set_online_status(self_id, status, ext_status, battery_status)

参数

参数类型必填说明
self_idnumber在线 Bot QQ 号
statusnumber | string基础状态:10 在线、30 离开、40 隐身、50 忙碌、60 Q我吧、70 请勿打扰
ext_statusnumber | stringQQ 扩展状态 ID;普通基础状态填写 0
battery_statusnumber | string电量状态值 0-100;仅当 ext_status=1000 时写入请求,其余状态填写 0

数值参数同时接受 JSON number 和十进制字符串,便于兼容现有 OneBot/NapCat 插件。

返回值

成功返回 null

示例

js
// 普通在线
await api.set_online_status(123456789, 10, 0, 0)

// 显示 76% 电量
await api.set_online_status(123456789, 10, 1000, 76)

// 离开
await api.set_online_status(123456789, 30, 0, 0)

离线请使用账号管理接口

该 action 只修改 QQ 在线展示状态,不接受离线状态。需要断开账号时请调用 stop_account_login

调用前必读

协议与使用指南

仅 Android
适用协议
仅 Android
使用前准备
目标 Bot 必须属于当前插件节点并处于在线状态;涉及群或好友操作时,账号还必须具备对应 QQ 权限。
选择协议
const androidApi = api.forProtocol('android') // 省略时也默认 Android

原始 action 请求只使用附件约定的 client_type: 'android' | 'linuxqq';省略时选择 Android。

建议搭配

常见失败原因

  • bot 不属于本节点
  • bot 未在线或账号状态不符合要求
  • client_type 无效或目标协议不支持该 action

注意事项

  • 省略协议选择器时默认 Android;若指定 Linux,框架会明确拒绝,不会转交同 QQ 的 Android 实例。
  • 该操作会修改 QQ 侧状态;调用前校验目标 ID,并避免在失败重试时重复执行。

萌卡NT 开发文档