discord_gleam/event_handler

Types

pub type EventHandler =
  fn(bot.Bot, Packet) -> Nil

The supported packets

pub type Packet {
  MessagePacket(message.MessagePacket)
  MessageUpdatePacket(message_update.MessageUpdatePacket)
  ReadyPacket(ready.ReadyPacket)
  MessageDeletePacket(message_delete.MessageDeletePacket)
  InteractionCreatePacket(
    interaction_create.InteractionCreatePacket,
  )
  ChannelCreatePacket(channel_create.ChannelCreatePacket)
  ChannelDeletePacket(channel_delete.ChannelDeletePacket)
  ChannelUpdatePacket(channel_update.ChannelUpdatePacket)
  GuildBanAddPacket(guild_ban_add.GuildBanAddPacket)
  GuildBanRemovePacket(guild_ban_remove.GuildBanRemovePacket)
  UnknownPacket(generic.GenericPacket)
}

Constructors

  • MessagePacket(message.MessagePacket)

    MESSAGE_CREATE event

  • MessageUpdatePacket(message_update.MessageUpdatePacket)

    MESSAGE_UPDATE event

  • ReadyPacket(ready.ReadyPacket)

    READY event

  • MessageDeletePacket(message_delete.MessageDeletePacket)

    MESSAGE_DELETE event

  • InteractionCreatePacket(
      interaction_create.InteractionCreatePacket,
    )

    INTERACTION_CREATE event

  • ChannelCreatePacket(channel_create.ChannelCreatePacket)

    CHANNEL_CREATE event

  • ChannelDeletePacket(channel_delete.ChannelDeletePacket)

    CHANNEL_DELETE event

  • ChannelUpdatePacket(channel_update.ChannelUpdatePacket)

    CHANNEL_UPDATE event

  • GuildBanAddPacket(guild_ban_add.GuildBanAddPacket)

    GUILD_BAN_ADD event

  • GuildBanRemovePacket(guild_ban_remove.GuildBanRemovePacket)

    GUILD_BAN_REMOVE event

  • UnknownPacket(generic.GenericPacket)

    When we receive a packet that we don’t know how to handle

Functions

pub fn handle_event(
  bot: Bot,
  msg: String,
  handlers: List(fn(Bot, Packet) -> Nil),
  state_uset: USet(#(String, String)),
) -> Nil

Handle an event from the Discord API, using a set of event handlers.

Search Document