View Source Nostrum.Struct.Guild (Nostrum v0.6.1)

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.

List of emojis

Explicit content filter level.

List of guild features

List of scheduled events

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 channel where admins and moderators receive notices from Discord. This is only available to guilds that contain PUBLIC in features/0.

The id of the voice region

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

List of roles

The id of the channel that is used for rules. This is only available to guilds that contain PUBLIC in features/0.

The hash of the guild's splash

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

t()

All active threads in the guild that the current user has permission to view

Whether the guild is available

A Nostrum.Struct.Guild that is unavailable.

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

Guild invite vanity URL

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

Specs

afk_channel_id() :: Nostrum.Struct.Channel.id() | nil

The id of the guild's afk channel

Specs

afk_timeout() :: integer()

The time someone must be afk before being moved

Specs

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

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

Specs

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(),
  emojis: emojis(),
  explicit_content_filter: explicit_content_filter(),
  features: features(),
  guild_scheduled_events: guild_scheduled_events(),
  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(),
  public_updates_channel_id: public_updates_channel_id(),
  region: region(),
  roles: roles(),
  rules_channel_id: rules_channel_id(),
  splash: splash(),
  system_channel_id: system_channel_id(),
  threads: threads(),
  unavailable: false,
  vanity_url_code: vanity_url_code(),
  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.

Specs

channels() ::
  %{required(Nostrum.Struct.Channel.id()) => Nostrum.Struct.Channel.t()} | nil

List of channels

Link to this type

default_message_notifications()

View Source

Specs

default_message_notifications() :: integer()

Default message notifications level.

Specs

emojis() :: [Nostrum.Struct.Emoji.t()]

List of emojis

Link to this type

explicit_content_filter()

View Source

Specs

explicit_content_filter() :: integer()

Explicit content filter level.

Specs

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

List of guild features

Link to this type

guild_scheduled_events()

View Source

Specs

guild_scheduled_events() :: [Nostrum.Struct.Guild.ScheduledEvent.t()] | nil

List of scheduled events

Specs

icon() :: String.t() | nil

The hash of the guild's icon

Specs

The guild's id

Specs

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

Date the bot user joined the guild

Specs

large() :: boolean() | nil

Whether the guild is considered 'large'

Specs

member_count() :: integer() | nil

Total number of members in the guild

Specs

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

List of members

Specs

mfa_level() :: integer()

Required MFA level of the guild

Specs

name() :: String.t()

The name of the guild.

Specs

owner_id() :: Nostrum.Struct.User.id()

The id of the guild owner

Link to this type

public_updates_channel_id()

View Source

Specs

public_updates_channel_id() :: Nostrum.Struct.Channel.id() | nil

The id of the channel where admins and moderators receive notices from Discord. This is only available to guilds that contain PUBLIC in features/0.

Specs

region() :: String.t()

The id of the voice region

Specs

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(),
  emojis: emojis(),
  explicit_content_filter: explicit_content_filter(),
  features: features(),
  guild_scheduled_events: nil,
  icon: icon(),
  id: id(),
  joined_at: nil,
  large: nil,
  member_count: nil,
  members: nil,
  mfa_level: mfa_level(),
  name: name(),
  owner_id: owner_id(),
  public_updates_channel_id: public_updates_channel_id(),
  region: region(),
  roles: roles(),
  rules_channel_id: rules_channel_id(),
  splash: splash(),
  system_channel_id: system_channel_id(),
  threads: nil,
  unavailable: nil,
  vanity_url_code: vanity_url_code(),
  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.

Specs

List of roles

Specs

rules_channel_id() :: Nostrum.Struct.Channel.id() | nil

The id of the channel that is used for rules. This is only available to guilds that contain PUBLIC in features/0.

Specs

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

The hash of the guild's splash

Specs

system_channel_id() :: Nostrum.Struct.Channel.id() | nil

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

Specs

Link to this type

threads()

View Source (since 0.5.1)

Specs

threads() ::
  %{required(Nostrum.Struct.Channel.id()) => Nostrum.Struct.Channel.t()} | nil

All active threads in the guild that the current user has permission to view

Specs

unavailable() :: boolean() | nil

Whether the guild is available

Specs

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

A Nostrum.Struct.Guild that is unavailable.

Specs

user_guild() :: %Nostrum.Struct.Guild{
  afk_channel_id: nil,
  afk_timeout: nil,
  application_id: nil,
  channels: nil,
  default_message_notifications: nil,
  emojis: nil,
  explicit_content_filter: nil,
  features: nil,
  guild_scheduled_events: term(),
  icon: icon(),
  id: id(),
  joined_at: nil,
  large: nil,
  member_count: nil,
  members: nil,
  mfa_level: nil,
  name: name(),
  owner_id: nil,
  public_updates_channel_id: nil,
  region: nil,
  roles: nil,
  rules_channel_id: nil,
  splash: nil,
  system_channel_id: nil,
  threads: nil,
  unavailable: nil,
  vanity_url_code: 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.

Specs

vanity_url_code() :: String.t() | nil

Guild invite vanity URL

Specs

verification_level() :: integer()

The level of verification

Specs

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

List of voice states as maps

Specs

widget_channel_id() :: Nostrum.Struct.Channel.id()

The channel id for the server widget.

Specs

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

Specs

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

Specs

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