Represents a Discord guild member.
Summary
Functions
Adds a role to a guild member.
Applies a changeset to a member. No-op if the changeset has no changes.
Adds a change to an existing changeset for this entity.
Creates a changeset for batching mutations to this entity.
Fetches a member by guild ID and user ID. Checks cache first, falls back to REST.
Kicks a member from a guild.
Modifies a guild member.
Removes a role from a guild member.
Types
@type t() :: %EDA.Member{ avatar: String.t() | nil, communication_disabled_until: String.t() | nil, deaf: boolean() | nil, joined_at: String.t() | nil, mute: boolean() | nil, nick: String.t() | nil, pending: boolean() | nil, premium_since: String.t() | nil, roles: [String.t()] | nil, user: EDA.User.t() | nil }
Functions
@spec add_role( String.t() | integer(), t() | String.t() | integer(), String.t() | integer(), keyword() ) :: :ok | {:error, term()}
Adds a role to a guild member.
Options
:reason- Audit log reason
@spec apply_changeset(String.t() | integer(), EDA.Entity.Changeset.t(), keyword()) :: {:ok, t()} | {:error, term()}
Applies a changeset to a member. No-op if the changeset has no changes.
Requires guild_id since members are guild-scoped.
Options
:reason- Audit log reason
@spec change(EDA.Entity.Changeset.t(), atom(), term()) :: EDA.Entity.Changeset.t()
Adds a change to an existing changeset for this entity.
@spec changeset(t()) :: EDA.Entity.Changeset.t()
Creates a changeset for batching mutations to this entity.
Fetches a member by guild ID and user ID. Checks cache first, falls back to REST.
@spec kick(String.t() | integer(), t() | String.t() | integer(), keyword()) :: :ok | {:error, term()}
Kicks a member from a guild.
Options
:reason- Audit log reason
@spec modify(String.t() | integer(), t() | String.t() | integer(), map(), keyword()) :: {:ok, t()} | {:error, term()}
Modifies a guild member.
Options
:reason- Audit log reason
@spec remove_role( String.t() | integer(), t() | String.t() | integer(), String.t() | integer(), keyword() ) :: :ok | {:error, term()}
Removes a role from a guild member.
Options
:reason- Audit log reason