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

Struct representing a Discord user.

Mentioning Users in Messages

A Nostrum.Struct.User can be mentioned in message content using the String.Chars protocol or mention/1.

user = %Nostrum.Struct.User{id: 120571255635181568}
Nostrum.Api.create_message!(184046599834435585, "#{user}")
%Nostrum.Struct.Message{content: "<@120571255635181568>"}

user = %Nostrum.Struct.User{id: 89918932789497856}
Nostrum.Api.create_message!(280085880452939778, "#{Nostrum.Struct.User.mention(user)}")
%Nostrum.Struct.Message{content: "<@89918932789497856>"}

User vs. Member

A user contains only general information about that user such as a username and an avatar. A member has everything that a user has, but also additional information on a per guild basis. This includes things like a nickname and a list of roles.

Link to this section Summary

Types

User's avatar hash

Whether the user is a bot

The user's 4--digit discord-tag

The user's email

The user's id

Whether the user has two factor enabled

The user's public flags

t()

The user's username

Whether the email on the account has been verified

Functions

Returns the URL of a user's display avatar.

Returns a user's :username and :discriminator separated by a hashtag.

Formats an Nostrum.Struct.User into a mention.

Link to this section Types

Specs

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

User's avatar hash

Specs

bot() :: boolean() | nil

Whether the user is a bot

Specs

discriminator() :: String.t()

The user's 4--digit discord-tag

Specs

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

The user's email

Specs

The user's id

Specs

mfa_enabled() :: boolean() | nil

Whether the user has two factor enabled

Specs

public_flags() :: Nostrum.Struct.User.Flags.t()

The user's public flags

Specs

t() :: %Nostrum.Struct.User{
  avatar: avatar(),
  bot: bot(),
  discriminator: discriminator(),
  email: email(),
  id: id(),
  mfa_enabled: mfa_enabled(),
  public_flags: public_flags(),
  username: username(),
  verified: verified()
}

Specs

username() :: String.t()

The user's username

Specs

verified() :: boolean() | nil

Whether the email on the account has been verified

Link to this section Functions

Link to this function

avatar_url(user, image_format \\ "webp")

View Source

Specs

avatar_url(t(), String.t()) :: String.t()

Returns the URL of a user's display avatar.

If :avatar is nil, the default avatar url is returned.

Supported image formats are PNG, JPEG, WebP, and GIF.

Examples

iex> user = %Nostrum.Struct.User{avatar: "8342729096ea3675442027381ff50dfe",
...>                             id: 80351110224678912}
iex> Nostrum.Struct.User.avatar_url(user)
"https://cdn.discordapp.com/avatars/80351110224678912/8342729096ea3675442027381ff50dfe.webp"
iex> Nostrum.Struct.User.avatar_url(user, "png")
"https://cdn.discordapp.com/avatars/80351110224678912/8342729096ea3675442027381ff50dfe.png"

iex> user = %Nostrum.Struct.User{avatar: nil,
...>                             discriminator: "1337"}
iex> Nostrum.Struct.User.avatar_url(user)
"https://cdn.discordapp.com/embed/avatars/2.png"

Specs

full_name(t()) :: String.t()

Returns a user's :username and :discriminator separated by a hashtag.

Examples

iex> user = %Nostrum.Struct.User{username: "b1nzy",
...>                             discriminator: "0852"}
iex> Nostrum.Struct.User.full_name(user)
"b1nzy#0852"

Specs

mention(t()) :: String.t()

Formats an Nostrum.Struct.User into a mention.

Examples

iex> user = %Nostrum.Struct.User{id: 177888205536886784}
...> Nostrum.Struct.User.mention(user)
"<@177888205536886784>"