grom/guild_member

Types

pub type Flag {
  DidRejoin
  CompletedOnboarding
  BypassesVerification
  StartedOnboarding
  IsGuest
  StartedHomeActions
  CompletedHomeActions
  QuarantinedBecauseOfUsername
  AcknowledgedDmSettingsUpsell
}

Constructors

  • DidRejoin
  • CompletedOnboarding
  • BypassesVerification
  • StartedOnboarding
  • IsGuest
  • StartedHomeActions
  • CompletedHomeActions
  • QuarantinedBecauseOfUsername
  • AcknowledgedDmSettingsUpsell
pub type GuildMember {
  Member(
    user: option.Option(user.User),
    nick: option.Option(String),
    avatar_hash: option.Option(String),
    banner_hash: option.Option(String),
    roles: List(String),
    joined_at: timestamp.Timestamp,
    premium_since: option.Option(timestamp.Timestamp),
    is_deaf: option.Option(Bool),
    is_mute: option.Option(Bool),
    flags: List(Flag),
    is_pending: option.Option(Bool),
    permissions: option.Option(String),
    communication_disabled_until: option.Option(
      timestamp.Timestamp,
    ),
    avatar_decoration_data: option.Option(
      user.AvatarDecorationData,
    ),
  )
}

Constructors

pub type Modify {
  Modify(
    nick: modification.Modification(String),
    role_ids: modification.Modification(List(String)),
    is_mute: option.Option(Bool),
    is_deaf: option.Option(Bool),
    voice_channel_id: modification.Modification(String),
    communication_disabled_until: modification.Modification(
      timestamp.Timestamp,
    ),
    flags: modification.Modification(List(Flag)),
  )
}

Constructors

Values

pub fn add_role(
  client: grom.Client,
  in guild_id: String,
  to user_id: String,
  id role_id: String,
  because reason: option.Option(String),
) -> Result(Nil, grom.Error)
pub fn avatar_request(
  in guild_id: String,
  id member_id: String,
  hash avatar: String,
  format format: user.AvatarFormat,
) -> request.Request(String)

Note that this will give you the per-guild avatar of the member. If you want the overall avatar - use user.avatar_request(member.user).

If format == user.GifAvatar and the avatar isn’t animated, will fallback to static WEBP. You can request animated WEBPs too, in which case, if it isn’t animated, it will fallback to static WEBP.

pub fn banner_request(
  in guild_id: String,
  id member_id: String,
  hash banner: String,
  format format: user.BannerFormat,
) -> request.Request(String)

Note that this will give you the per-guild banner of the member. If you want the overall banner - use user.banner_request(member.user).

If format == user.GifBanner and the banner isn’t animated, will fallback to static WEBP. You can request animated WEBPs too, in which case, if it isn’t animated, it will fallback to static WEBP.

pub fn get(
  client: grom.Client,
  for guild_id: String,
  id user_id: String,
) -> Result(GuildMember, grom.Error)
pub fn kick(
  client: grom.Client,
  from guild_id: String,
  id user_id: String,
  because reason: option.Option(String),
) -> Result(Nil, grom.Error)
pub fn modify(
  client: grom.Client,
  in guild_id: String,
  id user_id: String,
  with modify: Modify,
  because reason: option.Option(String),
) -> Result(GuildMember, grom.Error)
pub fn new_modify() -> Modify
pub fn remove(
  client: grom.Client,
  from guild_id: String,
  id user_id: String,
  because reason: option.Option(String),
) -> Result(Nil, grom.Error)
pub fn remove_role(
  client: grom.Client,
  in guild_id: String,
  from user_id: String,
  id role_id: String,
  because reason: option.Option(String),
) -> Result(Nil, grom.Error)
pub fn set_current_nick(
  client: grom.Client,
  in guild_id: String,
  to nick: modification.Modification(String),
  because reason: option.Option(String),
) -> Result(GuildMember, grom.Error)
Search Document