shimmer/handlers

Types

pub type Handlers(message) {
  Handlers(
    on_ready: fn(ReadyPacket, Client(message)) -> Nil,
    on_message: fn(MessageCreate, Client(message)) -> Nil,
    on_heartbeat_ack: fn(Client(message)) -> Nil,
    on_disconnect: fn(Int, Client(message)) -> Nil,
  )
}

Constructors

  • Handlers(
      on_ready: fn(ReadyPacket, Client(message)) -> Nil,
      on_message: fn(MessageCreate, Client(message)) -> Nil,
      on_heartbeat_ack: fn(Client(message)) -> Nil,
      on_disconnect: fn(Int, Client(message)) -> Nil,
    )
pub type HandlersBuilder(message) {
  HandlersBuilder(
    on_ready: Option(fn(ReadyPacket, Client(message)) -> Nil),
    on_message: Option(fn(MessageCreate, Client(message)) -> Nil),
    on_heartbeat_ack: Option(fn(Client(message)) -> Nil),
    on_disconnect: Option(fn(Int, Client(message)) -> Nil),
  )
}

Constructors

  • HandlersBuilder(
      on_ready: Option(fn(ReadyPacket, Client(message)) -> Nil),
      on_message: Option(fn(MessageCreate, Client(message)) -> Nil),
      on_heartbeat_ack: Option(fn(Client(message)) -> Nil),
      on_disconnect: Option(fn(Int, Client(message)) -> Nil),
    )

    Arguments

    • on_ready

      When the bot is online and ready.

    • on_message

      When a new message is recieved.

    • on_heartbeat_ack

      Send when the internal heartbeats are acknowlaged by the gateway.

    • on_disconnect

      Called when the gateway connection is closed for any reason. The function is given the close code we recieved from discord.

Functions

pub fn handlers_from_builder(builder: HandlersBuilder(a)) -> Handlers(
  a,
)
pub fn new_builder() -> HandlersBuilder(a)
pub fn on_disconnect(builder: HandlersBuilder(a), f: fn(
    Int,
    Client(a),
  ) -> Nil) -> HandlersBuilder(a)
pub fn on_heartbeat_ack(builder: HandlersBuilder(a), f: fn(
    Client(a),
  ) -> Nil) -> HandlersBuilder(a)
pub fn on_message(builder: HandlersBuilder(a), f: fn(
    MessageCreate,
    Client(a),
  ) -> Nil) -> HandlersBuilder(a)
pub fn on_ready(builder: HandlersBuilder(a), f: fn(
    ReadyPacket,
    Client(a),
  ) -> Nil) -> HandlersBuilder(a)
Search Document