Skip to content

OneBot 接入

Campux 使用 OneBot v11 WebSocket 与 QQ 协议端通信。

机器人管理

连接地址

在“管理 / 机器人”中复制连接 URL:

text
ws://localhost:8989/onebot/v11/ws?bot_id=<bot-id>&token=<connection-token>

生产环境通常是:

text
wss://example.com/onebot/v11/ws?bot_id=<bot-id>&token=<connection-token>

协议端必须带上 bot_idtoken。Campux 会用它们查找启用中的机器人,并得到对应租户。

NapCat 使用反向 WebSocket 客户端时,直接粘贴完整 URL 即可。协议端登录 QQ 必须等于机器人卡片里的 Bot QQ;如果 self_id 不匹配,Campux 会拒绝连接,避免一个执行端误连到另一个租户或机器人。

支持的能力

Campux 当前使用这些 OneBot 能力:

  • 接收私聊消息。
  • 接收群消息。
  • 发送私聊消息。
  • 发送审核群消息。
  • 获取 cookies。
  • 发送图片消息。
  • 读取 self_id 并校验连接身份。

不同协议端对获取 QZone cookies 的支持不一致。如果协议端不支持,请使用扫码登录。

私聊命令

用户常用私聊命令:

text
#注册账号
#重置密码
#投稿 正文
#匿名
#实名
#撤回
#结束
#取消

非命令私聊消息会触发可配置自动回复。自动回复有限速,命令不受限速影响。

私聊投稿支持中文 # 和英文 #。发送 #投稿 后进入待确认状态;你需要先回复 #匿名#实名 选择投稿方式,然后才会进入草稿状态。进入草稿后可以继续发送文字或图片,Campux 会按发送顺序追加到本次投稿里。发送 #撤回 可以删除最近追加的一段文字或一批图片;发送 #结束 提交稿件;发送 #取消 放弃本次投稿。

限制与网页版投稿保持一致:正文最多 1000 字,图片最多 9 张,单张图片最大 10MB。

审核群命令

审核群常用命令:

text
#通过 <稿件编号>
#拒绝 <理由> <稿件编号>
#重发 <稿件编号>
#登录
#扫码登录

可以 at 机器人再写命令。Campux 会识别 at 后的命令文本。

这些审核群命令、扫码登录命令和审核群非命令 at 自动回复只在机器人配置的审核群内生效。其他群组中收到类似消息时,Campux 会完全忽略,不返回错误提示。

连接排查

如果协议端显示连接成功但 Campux 没有最近连接时间:

  1. 检查 URL 是否是当前机器人卡片里的最新 URL。
  2. 检查 token 是否被截断。
  3. 检查协议端上报的 self_id 是否等于 Bot QQ。
  4. 检查反向代理是否支持 WebSocket upgrade。