Skip to content
This repository has been archived by the owner on Aug 3, 2020. It is now read-only.

Latest commit

 

History

History
138 lines (125 loc) · 6.52 KB

events.md

File metadata and controls

138 lines (125 loc) · 6.52 KB

事件列表

事件樹

├─ message
│    ├─ private
│    ├─ discuss
│    │    └─ @
│    │      └─ me
│    └─ group
│         └─ @
│           └─ me
├─ notice
│    ├─ group_upload
│    ├─ group_admin
│    │    ├─ set
│    │    └─ unset
│    ├─ group_decrease
│    │    ├─ leave
│    │    ├─ kick
│    │    └─ kick_me
│    ├─ group_increase
│    │    ├─ approve
│    │    └─ invite
│    └─ friend_add
├─ request 
│    ├─ friend
│    └─ group
|         ├─ add
|         └─ invite
├─ meta_event
|    ├─ lifecycle
|    └─ heartbeat
├─ error  
├─ ready  
├─ socket ※
│    ├─ connecting  
│    ├─ connect  
│    ├─ failed  
│    ├─ reconnecting  
│    ├─ reconnect  
│    ├─ reconnect_failed  
│    ├─ max_reconnect  
│    ├─ closing    
│    ├─ close    
│    └─ error
└─ api ※
     ├─ response  
     └─ send ※
         ├─ pre    
         └─ post  

※: 表示無法在該節點進行監聽

基本事件

前三個基本事件之說明,可以另外參考 CQHTTP API 的數據上報格式

參數 context 可見事件列表

事件類型 監聽器參數 ...args 說明
message event CQEvent
context object
tags CQTag[]
所有流入的訊息。
notice context object 群文件上傳, 群管變動, 群成員增減, 好友添加...等QQ事件。
request context object 好友請求, 群請求/群邀請...等QQ事件。
meta_event context object 來自 CQHTTP API 的元事件。
error err Error 應用層面的錯誤, 如 CQHttp API 消息格式錯誤, 響應超時... 等
ready this 設定中啟用之連線均成功並初始化完成,可以開始調用API (送消息...等操作)。

message

事件類型 監聽器參數 說明
message.private event CQEvent
context object
tags CQTag[]
私聊消息。
message.discuss event CQEvent
context object
tags CQTag[]
討論組消息。
message.discuss.@ event CQEvent
context object
tags CQTag[]
有人於討論組消息中被at。
message.discuss.@.me event CQEvent
context object
tags CQTag[]
有人於討論組消息at機器人。
message.group event CQEvent
context object
tags CQTag[]
群消息。
message.group.@ event CQEvent
context object
tags CQTag[]
有人於群消息中被at。
message.group.@.me event CQEvent
context object
tags CQTag[]
有人於群消息at機器人。

notice

事件類型 監聽器參數 說明
notice.group_upload context object 群文件上傳。
notice.group_admin.set context object 設置管理員。
notice.group_admin.unset context object 取消管理員。
notice.group_decrease.leave context object 自主退群。
notice.group_decrease.kick context object 被動踢出群。
notice.group_decrease.kick_me context object 機器人被踢出群。
notice.group_increase.approve context object 管理員同意入群。
notice.group_increase.invite context object 管理員邀請入群。
notice.friend_add context object 新添加好友。

request

事件類型 監聽器參數 說明
request.friend context object 私聊消息。
request.group.add context object 加群請求。
request.group.invite context object 邀請入群。

meta_event

事件類型 監聽器參數 說明
meta_event.lifecycle context object 生命周期。
meta_event.heartbeat context object 心跳。

socket

底層 socket 連線的事件, 可用於掌握連線狀況。

事件類型 監聽器參數 說明
socket.connecting type WebsocketType
attempts number
開始嘗試連線, 連線成功/失敗之前。
socket.connect type WebsocketType
socket WebSocketConnection
attempts number
連線成功後,尚未初始化之前。
socket.failed type WebsocketType
attempts number
連線失敗。
socket.reconnecting type WebsocketType
attempts number
開始嘗試重新連線, 若存在持續中的連線, 則先斷線。
socket.reconnect type WebsocketType
attempts number
重連成功。
socket.reconnect_failed type WebsocketType
attempts number
重連失敗。
socket.max_reconnect type WebsocketType
attempts number
已抵達重連次數上限。
socket.closing type WebsocketType 連線關閉之前。
socket.close type WebsocketType
code number
desc string
連線關閉。(連線關閉代碼 code 可參照 RFC 文件))
socket.error type WebsocketType
err Error
連線錯誤。若該事件無監聽器,則會安裝默認監聽器,固定拋出例外。

api

事件類型 監聽器參數 說明
api.send.pre apiRequest object 傳送 API 請求之前。關於 apiRequest 可見 /api/接口說明
api.send.post 傳送 API 請求之後。
api.response result object 對於 API 請求的響應。詳細格式見 /api/接口說明
此為集中處理所有 API 請求的響應, 若需對個別請求追蹤結果, 請參考方法調用中返回的 Promise 對象。
若需追蹤消息快速響應的結果, 請參考 響應結果追蹤