Nostrum v0.4.0 Nostrum.Struct.Guild View Source

Struct representing a Discord guild.

Link to this section Summary

Types

The id of the guild's afk channel

The time someone must be afk before being moved

Application id of the guild creator if it is bot created.

A Nostrum.Struct.Guild that is fully available.

List of channels

Default message notifications level.

The id of the embedded channel

Whether the guild is emeddable

List of emojis

Explicit content filter level.

List of guild features

The hash of the guild's icon

The guild's id

Date the bot user joined the guild

Whether the guild is considered 'large'

Total number of members in the guild

List of members

Required MFA level of the guild

The name of the guild.

The id of the guild owner

The id of the voice region

A Nostrum.Struct.Guild that is sent on guild-specific rest endpoints.

List of roles

The hash of the guild's splash

The id of the channel to which system messages are sent.

t()

Whether the guild is avaliable

A Nostrum.Struct.Guild that is unavailable.

A Nostrum.Struct.Guild that is sent on user-specific rest endpoints.

The level of verification

List of voice states as maps

The channel id for the server widget.

Whether or not the server widget is enabled.

Functions

Returns the URL of a guild's icon, or nil if there is no icon.

Returns the URL of a guild's splash, or nil if there is no splash.

Link to this section Types

Link to this type

afk_channel_id() View Source
afk_channel_id() :: Nostrum.Snowflake.t() | nil

The id of the guild's afk channel

Link to this type

afk_timeout() View Source
afk_timeout() :: integer()

The time someone must be afk before being moved

Link to this type

application_id() View Source
application_id() :: Nostrum.Snowflake.t() | nil

Application id of the guild creator if it is bot created.

Link to this type

available_guild() View Source
available_guild() :: %Nostrum.Struct.Guild{
  afk_channel_id: afk_channel_id(),
  afk_timeout: afk_timeout(),
  application_id: application_id(),
  channels: channels(),
  default_message_notifications: default_message_notifications(),
  embed_channel_id: embed_channel_id(),
  embed_enabled: embed_enabled(),
  emojis: emojis(),
  explicit_content_filter: explicit_content_filter(),
  features: features(),
  icon: icon(),
  id: id(),
  joined_at: joined_at(),
  large: large(),
  member_count: member_count(),
  members: members(),
  mfa_level: mfa_level(),
  name: name(),
  owner_id: owner_id(),
  region: region(),
  roles: roles(),
  splash: splash(),
  system_channel_id: system_channel_id(),
  unavailable: false,
  verification_level: verification_level(),
  voice_states: voice_states(),
  widget_channel_id: widget_channel_id(),
  widget_enabled: widget_enabled()
}

A Nostrum.Struct.Guild that is fully available.

List of channels

Link to this type

default_message_notifications() View Source
default_message_notifications() :: integer()

Default message notifications level.

Link to this type

embed_channel_id() View Source
embed_channel_id() :: Nostrum.Snowflake.t() | nil

The id of the embedded channel

Link to this type

embed_enabled() View Source
embed_enabled() :: boolean() | nil

Whether the guild is emeddable

List of emojis

Link to this type

explicit_content_filter() View Source
explicit_content_filter() :: integer()

Explicit content filter level.

Link to this type

features() View Source
features() :: [String.t()]

List of guild features

The hash of the guild's icon

The guild's id

Link to this type

joined_at() View Source
joined_at() :: String.t() | nil

Date the bot user joined the guild

Link to this type

large() View Source
large() :: boolean() | nil

Whether the guild is considered 'large'

Link to this type

member_count() View Source
member_count() :: integer() | nil

Total number of members in the guild

Link to this type

members() View Source
members() :: %{required(User.id()) => Nostrum.Struct.Guild.Member.t()} | nil

List of members

Link to this type

mfa_level() View Source
mfa_level() :: integer()

Required MFA level of the guild

The name of the guild.

The id of the guild owner

The id of the voice region

Link to this type

rest_guild() View Source
rest_guild() :: %Nostrum.Struct.Guild{
  afk_channel_id: afk_channel_id(),
  afk_timeout: afk_timeout(),
  application_id: application_id(),
  channels: nil,
  default_message_notifications: default_message_notifications(),
  embed_channel_id: embed_channel_id(),
  embed_enabled: embed_enabled(),
  emojis: emojis(),
  explicit_content_filter: explicit_content_filter(),
  features: features(),
  icon: icon(),
  id: id(),
  joined_at: nil,
  large: nil,
  member_count: nil,
  members: nil,
  mfa_level: mfa_level(),
  name: name(),
  owner_id: owner_id(),
  region: region(),
  roles: roles(),
  splash: splash(),
  system_channel_id: system_channel_id(),
  unavailable: nil,
  verification_level: verification_level(),
  voice_states: nil,
  widget_channel_id: widget_channel_id(),
  widget_enabled: widget_enabled()
}

A Nostrum.Struct.Guild that is sent on guild-specific rest endpoints.

List of roles

Link to this type

splash() View Source
splash() :: String.t() | nil

The hash of the guild's splash

Link to this type

system_channel_id() View Source
system_channel_id() :: Nostrum.Snowflake.t() | nil

The id of the channel to which system messages are sent.

Link to this type

unavailable() View Source
unavailable() :: boolean() | nil

Whether the guild is avaliable

Link to this type

unavailable_guild() View Source
unavailable_guild() :: %Nostrum.Struct.Guild{
  afk_channel_id: nil,
  afk_timeout: nil,
  application_id: nil,
  channels: nil,
  default_message_notifications: nil,
  embed_channel_id: nil,
  embed_enabled: nil,
  emojis: nil,
  explicit_content_filter: nil,
  features: nil,
  icon: nil,
  id: id(),
  joined_at: nil,
  large: nil,
  member_count: nil,
  members: nil,
  mfa_level: nil,
  name: nil,
  owner_id: nil,
  region: nil,
  roles: nil,
  splash: nil,
  system_channel_id: nil,
  unavailable: true,
  verification_level: nil,
  voice_states: nil,
  widget_channel_id: nil,
  widget_enabled: nil
}

A Nostrum.Struct.Guild that is unavailable.

Link to this type

user_guild() View Source
user_guild() :: %Nostrum.Struct.Guild{
  afk_channel_id: nil,
  afk_timeout: nil,
  application_id: nil,
  channels: nil,
  default_message_notifications: nil,
  embed_channel_id: nil,
  embed_enabled: nil,
  emojis: nil,
  explicit_content_filter: nil,
  features: nil,
  icon: icon(),
  id: id(),
  joined_at: nil,
  large: nil,
  member_count: nil,
  members: nil,
  mfa_level: nil,
  name: name(),
  owner_id: nil,
  region: nil,
  roles: nil,
  splash: nil,
  system_channel_id: nil,
  unavailable: nil,
  verification_level: nil,
  voice_states: nil,
  widget_channel_id: nil,
  widget_enabled: nil
}

A Nostrum.Struct.Guild that is sent on user-specific rest endpoints.

Link to this type

verification_level() View Source
verification_level() :: integer()

The level of verification

Link to this type

voice_states() View Source
voice_states() :: [map()] | nil

List of voice states as maps

Link to this type

widget_channel_id() View Source
widget_channel_id() :: Nostrum.Snowflake.t()

The channel id for the server widget.

Link to this type

widget_enabled() View Source
widget_enabled() :: boolean() | nil

Whether or not the server widget is enabled.

Link to this section Functions

Link to this function

icon_url(guild, image_format \\ "webp") View Source
icon_url(t(), String.t()) :: String.t() | nil

Returns the URL of a guild's icon, or nil if there is no icon.

Supported image formats are PNG, JPEG, and WebP.

Examples

iex> guild = %Nostrum.Struct.Guild{icon: "86e39f7ae3307e811784e2ffd11a7310",
...>                               id: 41771983423143937}
iex> Nostrum.Struct.Guild.icon_url(guild)
"https://cdn.discordapp.com/icons/41771983423143937/86e39f7ae3307e811784e2ffd11a7310.webp"
iex> Nostrum.Struct.Guild.icon_url(guild, "png")
"https://cdn.discordapp.com/icons/41771983423143937/86e39f7ae3307e811784e2ffd11a7310.png"

iex> guild = %Nostrum.Struct.Guild{icon: nil}
iex> Nostrum.Struct.Guild.icon_url(guild)
nil
Link to this function

splash_url(guild, image_format \\ "webp") View Source
splash_url(t(), String.t()) :: String.t() | nil

Returns the URL of a guild's splash, or nil if there is no splash.

Supported image formats are PNG, JPEG, and WebP.

Examples

iex> guild = %Nostrum.Struct.Guild{splash: "86e39f7ae3307e811784e2ffd11a7310",
...>                               id: 41771983423143937}
iex> Nostrum.Struct.Guild.splash_url(guild)
"https://cdn.discordapp.com/splashes/41771983423143937/86e39f7ae3307e811784e2ffd11a7310.webp"
iex> Nostrum.Struct.Guild.splash_url(guild, "png")
"https://cdn.discordapp.com/splashes/41771983423143937/86e39f7ae3307e811784e2ffd11a7310.png"

iex> guild = %Nostrum.Struct.Guild{splash: nil}
iex> Nostrum.Struct.Guild.splash_url(guild)
nil