事件列表

November 1, 2018 · View on GitHub

事件樹

├─ 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說明
messageevent CQEvent
context object
tags CQTag[]
所有流入的訊息。
noticecontext object群文件上傳, 群管變動, 群成員增減, 好友添加...等QQ事件。
requestcontext object好友請求, 群請求/群邀請...等QQ事件。
meta_eventcontext object來自 CQHTTP API 的元事件。
errorerr Error應用層面的錯誤, 如 CQHttp API 消息格式錯誤, 響應超時... 等
readythis設定中啟用之連線均成功並初始化完成,可以開始調用API (送消息...等操作)。

message

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

notice

事件類型監聽器參數說明
notice.group_uploadcontext object群文件上傳。
notice.group_admin.setcontext object設置管理員。
notice.group_admin.unsetcontext object取消管理員。
notice.group_decrease.leavecontext object自主退群。
notice.group_decrease.kickcontext object被動踢出群。
notice.group_decrease.kick_mecontext object機器人被踢出群。
notice.group_increase.approvecontext object管理員同意入群。
notice.group_increase.invitecontext object管理員邀請入群。
notice.friend_addcontext object新添加好友。

request

事件類型監聽器參數說明
request.friendcontext object私聊消息。
request.group.addcontext object加群請求。
request.group.invitecontext object邀請入群。

meta_event

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

socket

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

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

api

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