Skip to content
On this page

事件

事件是用户需要从 OneBot 被动接收的数据,有以下几个大类:

  • 消息事件,包括私聊消息、群消息等
  • 通知事件,包括群成员变动、好友变动等
  • 请求事件,包括加群请求、加好友请求等
  • 元事件,包括 OneBot 生命周期、心跳等

在所有能够推送事件的通信方式中(HTTP POST、正向和反向 WebSocket),事件都以 JSON 格式表示。

内容字段

每个事件都有 timeself_idpost_type 字段,如下:

字段名数据类型说明
timenumber (int64)事件发生的时间戳
self_idnumber (int64)收到事件的机器人 QQ 号
post_typestring事件类型

其中 post_type 不同字段值表示的事件类型对应如下:

  • message:消息事件
  • notice:通知事件
  • request:请求事件
  • meta_event:元事件

其它字段随事件类型不同而有所不同,后面将在事件列表的「事件数据」小标题下给出。

某些字段的值是一些固定的值,在表格的「可能的值」中给出,如果「可能的值」为空则表示没有固定的可能性。

快速操作

HTTP POST 的快速操作 中所说,HTTP POST 通信方式下,用户可在服务端返回的响应中指定快速操作,事件支持的快速操作在事件列表的「快速操作」小标题下给出。

在使用正向和反向 WebSocket 的情况下,可以通过 .handle_quick_operation API 伪造快速操作。

数据类型

在后面的事件列表中,「数据类型」使用 JSON 中的名字,例如 stringnumber 等。

特别地,数据类型 message 表示该字段是一个消息类型的字段。在事件数据中,message 的实际类型根据用户配置的消息格式的不同而不同,支持字符串和消息段数组两种格式;而在快速操作中,message 类型的字段允许接受字符串、消息段数组、单个消息段对象三种类型的数据。关于消息格式的更多细节请查看 消息

相关配置

配置项名称默认值说明
event.message_formatstring事件数据中的消息格式,string 为字符串格式,array 为消息段数组格式