跳转至

概述

OneBot Connect 是 OneBot 应用与 OneBot 实现通过网络连接的规范,由两部分组成:

  • 通信方式规定了 OneBot 应用与 OneBot 实现进行网络连接所使用的通信协议、数据编码
  • 数据协议定义了 OneBot 应用与 OneBot 实现之间在各种通信方式上传输的数据

通信方式

OneBot Connect 目前包含四种通信方式,分别是:

  • HTTP:OneBot 实现作为 HTTP 服务端,提供动作调用服务
  • HTTP Webhook:OneBot 实现作为 HTTP 客户端,向用户配置的地址推送事件
  • 正向 WebSocket:OneBot 实现作为 WebSocket 服务端,接受客户端的接入,提供动作调用和事件推送服务
  • 反向 WebSocket:OneBot 实现作为 WebSocket 客户端,向用户配置的地址发起连接,提供动作调用和事件推送服务

数据协议

OneBot Connect 目前包含三种数据协议,分别是:

  • 事件:OneBot 实现自发产生或从机器人平台获得的消息、通知等,由 OneBot 实现向应用端推送
  • 动作请求:应用端向 OneBot 实现主动请求服务时所发送的动作调用请求
  • 动作响应:OneBot 实现在收到应用端的动作请求并处理完毕后,发回应用端的响应

对 OneBot 实现的要求

除非语言或运行环境不允许,否则 OneBot 实现应完整支持 OneBot Connect 所规定的所有通信方式和数据协议。每种通信方式可以允许用户同时配置多个。

当确实有客观限制时,OneBot 实现应支持尽可能多的通信方式,并在文档中说明。

除了标准的通信方式外,OneBot 实现可以支持其它扩展的通信方式,但建议提供明显的区别方式,让用户能意识到它不是标准通信方式。