Skip to content

事件参考 ​

WebSocket 和 IPC 连接通过事件帧接收推送。HTTP 调用不提供事件订阅。

分类目录 ​

分类内容
消息群消息、好友消息与群临时消息
好友通知好友关系、撤回与名片点赞
群成员与管理成员加入、离开、撤回与禁言
互动表态、戳一戳、输入状态
文件群文件上传
申请好友申请、入群申请与邀请
账号与连接QQ 上下线、连接状态

具体字段、适用条件与订阅权限见各分类页面。

json
{
  "type": "event",
  "data": {
    "post_type": "bot_online",
    "self_id": 123456789,
    "protocol_id": 0
  }
}

公共字段 ​

字段类型说明
typestring外层固定为 event
data.post_typestring事件类别
data.self_idinteger事件所属 QQ
data.protocol_idinteger事件所属协议配置 ID,0 有效
data.sub_typestring好友与群通知的具体类型;其他事件不一定包含

订阅权限 ​

事件权限文档
group_messagegroup_message消息事件
friend_message、group_temp_messagefriend_message消息事件
friend_noticefriend_event通知事件、申请事件
group_noticegroup_event通知事件、申请事件
bot_onlinebot_online账号状态
bot_offlinebot_offline账号状态
message_sent按消息类型使用 group_message 或 friend_message发送确认
system_eventsystem_event(需显式开启)连接状态

只推送当前框架内已授权的事件。正向 WebSocket 在认证帧中声明权限;反向 WebSocket 初始开启表中的六项权限,可通过 plugin_info.permissions 替换;IPC 使用插件清单的 events 声明。连接格式见通信协议。

接收示例 ​

js
socket.addEventListener('message', ({ data }) => {
  const frame = JSON.parse(data)
  if (frame.type !== 'event') return
  const event = frame.data
  if (event.post_type === 'group_message') {
    console.log(event.self_id, event.protocol_id, event.group_id, event.message)
  }
})

断线期间不保证补发事件。重新连接后应查询账号及业务状态;不要依赖未声明的 event_id、event_type 或 client_type 字段。

萌卡 · 自托管 QQ 机器人框架