discord_gleam/event_handler

Types

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

The supported packets

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

Constructors

  • ReadyPacket(ready.ReadyPacket)

    READY event

  • InteractionCreatePacket(
      interaction_create.InteractionCreatePacket,
    )

    INTERACTION_CREATE event

  • MessageDeletePacket(message_delete.MessageDeletePacket)

    MESSAGE_DELETE event

  • MessagePacket(message.MessagePacket)

    MESSAGE_CREATE event

  • MessageUpdatePacket(message_update.MessageUpdatePacket)

    MESSAGE_UPDATE 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

  • GuildRoleCreatePacket(guild_role_create.GuildRoleCreatePacket)

    GUILD_ROLE_CREATE event

  • GuildRoleUpdatePacket(guild_role_update.GuildRoleUpdatePacket)

    GUILD_ROLE_UPDATE event

  • GuildRoleDeletePacket(guild_role_delete.GuildRoleDeletePacket)

    GUILD_ROLE_DELETE event

  • UnknownPacket(generic.GenericPacket)

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

Values

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