crux_structs v0.2.3 Crux.Structs.Presence View Source

Represents a Discord Presence Object.

Differences opposed to the Discord API Object:

  • :user is just the user id

Link to this section Summary

Types

All available types that can be resolved into a user id.

t()

Link to this section Types

Link to this type

activity()

View Source (since 0.2.3)

Specs

activity() :: %{
  :name => String.t(),
  :type => integer(),
  optional(:url) => nil | String.t(),
  :created_at => integer(),
  optional(:timestamps) => map(),
  optional(:application_id) => Crux.Structs.Snowflake.t(),
  optional(:details) => String.t() | nil,
  optional(:state) => String.t() | nil,
  optional(:emoji) => Crux.Structs.Emoji.t() | nil,
  optional(:party) => map(),
  optional(:assets) => map(),
  optional(:secrets) => map(),
  optional(:instance) => boolean(),
  optional(:flags) => Crux.Structs.Presence.ActivityFlags.raw()
}

Represents an Activity Structure.

Link to this type

id_resolvable()

View Source (since 0.2.1)

Specs

id_resolvable() :: Crux.Structs.User.id_resolvable()

All available types that can be resolved into a user id.

Specs

t() :: %Crux.Structs.Presence{
  activities: [activity()],
  client_status: %{required(atom()) => atom()},
  game: map() | nil,
  status: String.t(),
  user: Crux.Structs.Snowflake.t()
}

Link to this section Functions

Link to this function

create(data)

View Source (since 0.1.0)

Specs

create(data :: map()) :: t()

Creates a t:Crux.Structs.Presence.t/0 struct from raw data.

Automatically invoked by Crux.Structs.create/2.

Link to this function

resolve_id(resolvable)

View Source (since 0.2.1)

Specs

resolve_id(id_resolvable()) :: Crux.Structs.Snowflake.t() | nil

Resolves the id of a t:Crux.Structs.Presence.t/0

Automatically invoked by Crux.Structs.resolve_id/2

iex> %Crux.Structs.Presence{user: 218348062828003328}
...> |> Crux.Structs.Presence.resolve_id()
218348062828003328

For more examples see Crux.Structs.User.resolve_id/1