View Source Nostrum.Struct.Emoji (Nostrum v0.6.0)
Struct representing a Discord emoji.
Mentioning Emojis in Messages
A Nostrum.Struct.Emoji
can be mentioned in message content using the String.Chars
protocol or mention/1
.
emoji = %Nostrum.Struct.Emoji{id: 437093487582642177, name: "foxbot"}
Nostrum.Api.create_message!(184046599834435585, "#{emoji}")
%Nostrum.Struct.Message{content: "<:foxbot:437093487582642177>"}
emoji = %Nostrum.Struct.Emoji{id: 436885297037312001, name: "tealixir"}
Nostrum.Api.create_message!(280085880452939778, "#{Nostrum.Struct.Emoji.mention(emoji)}")
%Nostrum.Struct.Message{content: "<:tealixir:436885297037312001>"}
Using Emojis in the Api
A Nostrum.Struct.Emoji
can be used in Nostrum.Api
by using its api name
or the struct itself.
emoji = %Nostrum.Struct.Emoji{id: 436885297037312001, name: "tealixir"}
Nostrum.Api.create_reaction(381889573426429952, 436247584349356032, Nostrum.Struct.Emoji.api_name(emoji))
{:ok}
emoji = %Nostrum.Struct.Emoji{id: 436189601820966923, name: "elixir"}
Nostrum.Api.create_reaction(381889573426429952, 436247584349356032, emoji)
{:ok}
See Nostrum.Struct.Emoji.api_name/0
for more information.
Link to this section Summary
Types
Whether this emoji is animated
Emoji string to be used with the Discord API.
Id of the emoji
Whether this emoji is managed
Name of the emoji
Whether this emoji must be wrapped in colons
Roles this emoji is whitelisted to
User that created this emoji
Functions
Formats an emoji struct into its Nostrum.Struct.Emoji.api_name/0
.
Returns the url of a custom emoji's image. If the emoji is not a custom one,
returns nil
.
Formats an Nostrum.Struct.Emoji
into a mention.
Link to this section Types
Specs
animated() :: boolean() | nil
Whether this emoji is animated
Specs
api_name() :: String.t()
Emoji string to be used with the Discord API.
Some API endpoints take an emoji
. If it is a custom emoji, it must be
structured as "id:name"
. If it is an unicode emoji, it can be structured
as any of the following:
"name"
- A base 16 unicode emoji string.
api_name/1
is a convenience function that returns a Nostrum.Struct.Emoji
's
api name.
Examples
# Custom Emojis
"nostrum:431890438091489"
# Unicode Emojis
"👍"
"\xF0\x9F\x98\x81"
"\u2b50"
Specs
id() :: Nostrum.Snowflake.t() | nil
Id of the emoji
Specs
managed() :: boolean() | nil
Whether this emoji is managed
Specs
name() :: String.t()
Name of the emoji
Specs
require_colons() :: boolean() | nil
Whether this emoji must be wrapped in colons
Specs
roles() :: [Nostrum.Struct.Guild.Role.id()] | nil
Roles this emoji is whitelisted to
Specs
Specs
user() :: Nostrum.Struct.User.t() | nil
User that created this emoji
Link to this section Functions
Specs
Formats an emoji struct into its Nostrum.Struct.Emoji.api_name/0
.
Examples
iex> emoji = %Nostrum.Struct.Emoji{name: "Γ¡É"}
...> Nostrum.Struct.Emoji.api_name(emoji)
"Γ¡É"
iex> emoji = %Nostrum.Struct.Emoji{id: 437093487582642177, name: "foxbot"}
...> Nostrum.Struct.Emoji.api_name(emoji)
"foxbot:437093487582642177"
Specs
Returns the url of a custom emoji's image. If the emoji is not a custom one,
returns nil
.
Examples
iex> emoji = %Nostrum.Struct.Emoji{id: 450225070569291776}
iex> Nostrum.Struct.Emoji.image_url(emoji)
"https://cdn.discordapp.com/emojis/450225070569291776.png"
iex> emoji = %Nostrum.Struct.Emoji{id: 406140226998894614, animated: true}
iex> Nostrum.Struct.Emoji.image_url(emoji)
"https://cdn.discordapp.com/emojis/406140226998894614.gif"
iex> emoji = %Nostrum.Struct.Emoji{id: nil, name: "Γ¡É"}
iex> Nostrum.Struct.Emoji.image_url(emoji)
nil
Specs
Formats an Nostrum.Struct.Emoji
into a mention.
Examples
iex> emoji = %Nostrum.Struct.Emoji{name: "👍"}
...> Nostrum.Struct.Emoji.mention(emoji)
"👍"
iex> emoji = %Nostrum.Struct.Emoji{id: 436885297037312001, name: "tealixir"}
...> Nostrum.Struct.Emoji.mention(emoji)
"<:tealixir:436885297037312001>"
iex> emoji = %Nostrum.Struct.Emoji{id: 437016804309860372, name: "blobseizure", animated: true}
...> Nostrum.Struct.Emoji.mention(emoji)
"<a:blobseizure:437016804309860372>"