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)
  MessageDeleteBulkPacket(
    message_delete_bulk.MessageDeleteBulkPacket,
  )
  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)
  GuildMemberAddPacket(guild_member_add.GuildMemberAdd)
  GuildMemberUpdatePacket(guild_member_update.GuildMemberUpdate)
  GuildMemberRemovePacket(guild_member_remove.GuildMemberRemove)
  GuildMembersChunkPacket(
    guild_members_chunk.GuildMembersChunkPacket,
  )
  PresenceUpdatePacket(presence_update.PresenceUpdatePacket)
  UnknownPacket(generic.GenericPacket)
}

Constructors

Values

pub fn handle_event(
  bot: bot.Bot,
  msg: String,
  handlers: List(fn(bot.Bot, Packet) -> Nil),
  state_ets: booklet.Booklet(dict.Dict(String, String)),
) -> Nil

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

Search Document