tadpole/event_type

Gateway event dispatch table: event name to category and required intents. Unknown names fall through as unknown, never a crash.

Internals: a lookup table plus all_known_names, so tests can pin every known name against the real Discord list. The typed layer on top is tadpole/gateway/events; the bits required_intents names come from tadpole/intent.

Types

pub type Category {
  Lifecycle
  ChannelEvents
  GuildEvents
  MessageEvents
  InteractionEvents
  PresenceEvents
  AutoModerationEvents
  EntitlementEvents
  PollEvents
  VoiceEvents
  Other
}

Constructors

  • Lifecycle
  • ChannelEvents
  • GuildEvents
  • MessageEvents
  • InteractionEvents
  • PresenceEvents
  • AutoModerationEvents
  • EntitlementEvents
  • PollEvents
  • VoiceEvents
  • Other

Values

pub fn all_known_names() -> List(String)

Every event name known to this table. Exists so tests can iterate.

pub fn category(event_name: String) -> Category
pub fn is_known(event_name: String) -> Bool
pub fn maybe_known(event_name: String) -> option.Option(Category)
pub fn names_set() -> set.Set(String)
pub fn required_intents(event_name: String) -> List(Int)

Intent bits Discord requires before it will send this event.

Search Document