消息事件
公域消息(推荐)
需要 Intents(public_guild_messages=True)。适用于大多数公域机器人。
on_at_message_create
当收到 @机器人的消息时触发。
python
async def on_at_message_create(self, message: Message)事件触发详情
- 触发解析:
parse_at_message_create→on_at_message_create - 参数模型:
Message—__slots__包含:author(嵌套_User:id,username,bot,avatar),content,channel_id,id,guild_id,member(嵌套_Member:nick,roles,joined_at),message_reference(嵌套_MessageRef:message_id),mentions(列表_User),attachments(列表_Attachments:content_type,filename,height,width,id,size,url),seq,seq_in_channel,timestamp,event_id - 源码位置:
connection.py第 196-198 行 |message.py第 5-84 行
on_public_message_delete
当频道的消息被删除时触发。
python
async def on_public_message_delete(self, message: Message)事件触发详情
- 触发解析:
parse_public_message_delete→on_public_message_delete - 参数模型:
Message—__slots__同on_at_message_create - 源码位置:
connection.py第 200-202 行 |message.py第 5-84 行
私域消息
需要 Intents(guild_messages=True)。仅私域机器人可用。
on_message_create
发送消息事件,包含频道内的全部消息(不只是 @机器人的消息)。
python
async def on_message_create(self, message: Message)事件触发详情
- 触发解析:
parse_message_create→on_message_create - 参数模型:
Message—__slots__同on_at_message_create - 源码位置:
connection.py第 138-140 行 |message.py第 5-84 行
on_message_delete
删除(撤回)消息事件。
python
async def on_message_delete(self, message: Message)事件触发详情
- 触发解析:
parse_message_delete→on_message_delete - 参数模型:
Message—__slots__同on_at_message_create - 源码位置:
connection.py第 142-144 行 |message.py第 5-84 行
私信消息
需要 Intents(direct_message=True)。
on_direct_message_create
当收到用户发给机器人的私信消息时触发。
python
async def on_direct_message_create(self, message: DirectMessage)事件触发详情
- 触发解析:
parse_direct_message_create→on_direct_message_create - 参数模型:
DirectMessage—__slots__包含:author(嵌套_User:id,username,avatar),content,direct_message,channel_id,id,guild_id,member(嵌套_Member:joined_at),message_reference(嵌套_MessageRef:message_id),attachments(列表_Attachments),seq,seq_in_channel,src_guild_id,timestamp,event_id - 源码位置:
connection.py第 156-158 行 |message.py第 87-164 行
on_direct_message_delete
私信消息被撤回时触发。
python
async def on_direct_message_delete(self, message: DirectMessage)事件触发详情
- 触发解析:
parse_direct_message_delete→on_direct_message_delete - 参数模型:
DirectMessage—__slots__同on_direct_message_create - 源码位置:
connection.py第 160-162 行 |message.py第 87-164 行
消息审核
需要 Intents(message_audit=True)。
on_message_audit_pass
消息审核通过时触发。
python
async def on_message_audit_pass(self, message_audit: MessageAudit)事件触发详情
- 触发解析:
parse_message_audit_pass→on_message_audit_pass - 参数模型:
MessageAudit—__slots__包含:audit_id,message_id,channel_id,guild_id,event_id - 源码位置:
connection.py第 170-172 行 |message.py第 167-187 行
on_message_audit_reject
消息审核不通过时触发。
python
async def on_message_audit_reject(self, message_audit: MessageAudit)事件触发详情
- 触发解析:
parse_message_audit_reject→on_message_audit_reject - 参数模型:
MessageAudit—__slots__包含:audit_id,message_id,channel_id,guild_id,event_id - 源码位置:
connection.py第 174-176 行 |message.py第 167-187 行