Nostrum v0.4.1 Nostrum.Struct.User View Source

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

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

Link to this type

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

User's avatar hash

Whether the user is a bot

Link to this type

discriminator() View Source
discriminator() :: String.t()

The user's 4--digit discord-tag

Link to this type

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

The user's email

The user's id

Link to this type

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

Whether the user has two factor enabled

Link to this type

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

Link to this type

username() View Source
username() :: String.t()

The user's username

Link to this type

verified() View Source
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
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"
Link to this function

full_name(user) View Source
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"
Link to this function

mention(user) View Source
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>"