Skip to content

get_online_clients

获取当前 QQ 账号的在线客户端列表。萌卡 NT 直接使用 QQ Android 9.2.70 下发的 RegisterProxy.PushParams 设备数据,不通过名称猜测,也不返回固定占位值。

js
const clients = await api.get_online_clients(106606)

参数

字段类型必填说明
self_idnumber要查询的在线 Bot QQ 号
no_cacheboolean兼容 Go-CQHTTP 参数;安卓端的设备变更由 QQ 服务端主动推送

成功时直接返回客户端数组:

json
[
  {
    "app_id": 1,
    "device_name": "DESKTOP",
    "device_kind": "Windows",
    "client_type": 2,
    "state": 1,
    "platform_id": 3,
    "new_client_type": 2
  }
]

app_id、客户端类型、状态和平台字段来自 QQ 服务端;device_kind 优先使用服务端平台名称。账号刚登录且设备推送尚未到达时会返回空数组,收到推送后会自动更新。

调用前必读

协议与使用指南

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

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

建议搭配

常见失败原因

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

注意事项

  • 同一 QQ 可同时运行 Android 与 Linux;务必显式选择协议,避免把操作发送到错误会话。
  • 查询结果可能受 QQ 服务端分页、缓存与权限影响,不应假设一次调用返回全部数据。

萌卡NT 开发文档