Skip to content

事件处理

每个网关事件对应 EventHandler 上的一个方法。只实现你关心的方法,其余有空默认实现。覆盖非消息事件的示例:

接线

每个事件族都有专属 intent 标志,没开标志不会报错,只是 handler 拿不到事件。按需组合:

rust
let intents = Intents::new()
    .with_guild_members()                 // examples/events/guild_member.rs
    .with_open_forum_event()              // examples/events/open_forum.rs
    .with_audio_or_live_channel_member()  // examples/events/audio_or_live_channel_member.rs
    .with_public_messages();              // c2c/group 管理事件

handler 内部,session 会解引用到 BotApi,可以直接在 session 上调用 API(例如 session.create_direct_message + session.send_direct_message 欢迎新成员)。群/C2C 管理事件的 session 也提供 session.send_message(...),并会尽量自动填充 event_id / msg_seq

参见

基于 MIT 许可证发布