Skip to content

通用 OneBot v11 对接规范 ​

PicoOnebot 严格实现标准 OneBot v11 规范。任何兼容 OneBot v11 的客户端、SDK 或自研框架均可无缝对接。


协议接口与数据格式 ​

1. 通信协议支持 ​

  • 反向 WebSocket (WebSocket Reverse):PicoOnebot 主动连接至框架提供的 WebSocket 服务端,支持心跳发送与断线自动重连;
  • 正向 WebSocket (WebSocket Client):由框架主动连接 PicoOnebot 开放的端口(默认 3001);
  • HTTP POST 上报:PicoOnebot 收到事件后以 HTTP POST 方式上报 JSON 数据。

2. 消息事件格式 (Event Format) ​

收到的事件均为标准 JSON 结构,包含 post_type(message, notice, request, meta_event)等字段:

json
{
  "time": 1711234567,
  "self_id": 123456789,
  "post_type": "message",
  "message_type": "group",
  "sub_type": "normal",
  "message_id": 10001,
  "group_id": 987654321,
  "user_id": 1122334455,
  "anonymous": null,
  "message": "Hello PicoOnebot",
  "raw_message": "Hello PicoOnebot",
  "font": 0,
  "sender": {
    "user_id": 1122334455,
    "nickname": "Tester",
    "role": "member"
  }
}

3. API 调用格式 (Action API) ​

通过 WebSocket 发送动作请求时,格式如下:

json
{
  "action": "send_group_msg",
  "params": {
    "group_id": 987654321,
    "message": "收到测试消息"
  },
  "echo": "msg_001"
}

响应结果:

json
{
  "status": "ok",
  "retcode": 0,
  "data": {
    "message_id": 10002
  },
  "echo": "msg_001"
}

常见适配要点 ​

  • CQ 码与消息段支持:支持纯文本、表情(face)、图片(image)等常见消息段解析与发送;
  • 跨机器网络互通:若 PicoOnebot 容器与机器人框架分布在不同物理机或不同 Docker 容器中,反向 WebSocket 地址中请勿使用 127.0.0.1,应使用局域网 IP 或同一 Docker 网络内的服务名称。

Released under the GPL-3.0 License.