Class Emoji

java.lang.Object
net.dv8tion.jda.api.entities.Emoji
All Implemented Interfaces:
Formattable, IMentionable, ISnowflake, SerializableData

public class Emoji extends Object implements SerializableData, IMentionable
Represents a Discord Emoji.
This can either be unicode or custom.

If this emoji is unicode, then getIdLong() will be 0 and ISnowflake.getTimeCreated() will be constant at 2015.

See Also:
  • Method Details

    • getName

      @Nonnull public String getName()
      The name of this emoji.
      This will be the unicode characters if this emoji is not custom.
      Returns:
      The unicode or custom name
    • getIdLong

      public long getIdLong()
      Description copied from interface: ISnowflake
      The Snowflake id of this entity. This is unique to every entity and will never change.
      Specified by:
      getIdLong in interface ISnowflake
      Returns:
      Long containing the Id.
    • isAnimated

      public boolean isAnimated()
      Whether this emote is animated.
      Returns:
      True, if this emote is animated
    • isUnicode

      public boolean isUnicode()
      Whether this emoji is a standard unicode emoji.
      This means getName() returns the unicode characters of this emoji and ISnowflake.getId() returns 0.
      Returns:
      True, if this emoji is standard unicode
    • isCustom

      public boolean isCustom()
      Whether this is a custom emote from a Guild.
      Returns:
      True, if this is a custom emote
    • fromUnicode

      @Nonnull public static Emoji fromUnicode(@Nonnull String code)
      Creates an emoji with the provided unicode.
      This has to be the unicode characters rather than the emoji name.
      Parameters:
      code - The unicode characters, or codepoint notation such as "U+1f649"
      Returns:
      The new emoji instance
      Throws:
      IllegalArgumentException - If the code is null or empty
    • fromEmote

      @Nonnull public static Emoji fromEmote(@Nonnull String name, long id, boolean animated)
      Creates an emoji with the provided name.
      Parameters:
      name - The emote name
      id - The emote id
      animated - Whether this emote is animated
      Returns:
      The new emoji instance
      Throws:
      IllegalArgumentException - If the name is null or empty
    • fromEmote

      @Nonnull public static Emoji fromEmote(@Nonnull Emote emote)
      Creates an emoji from the provided Emote
      Parameters:
      emote - The emote instance
      Returns:
      The new emoji instance
      Throws:
      IllegalArgumentException - If the emote is null
    • fromMarkdown

      @Nonnull public static Emoji fromMarkdown(@Nonnull String code)
      Parses the provided markdown formatting to an Emoji instance.

      Example

      
       // animated custom emoji
       parseMarkdown("<a:dance:123456789123456789>");
       // not animated custom emoji
       parseMarkdown("<:dog:123456789123456789>");
       // unicode emoji, escape codes
       parseMarkdown("😃");
       // unicode emoji
       parseMarkdown("😃");
       
      Parameters:
      code - The code to parse
      Returns:
      The emoji instance
      Throws:
      IllegalArgumentException - If the provided code is null or empty
    • fromData

      @Nonnull public static Emoji fromData(@Nonnull DataObject emoji)
      Parses the provided JSON representation to an emoji instance.
      Parameters:
      emoji - The emoji json
      Returns:
      The emoji instance
      Throws:
      ParsingException - If the JSON is not a valid emoji
    • toData

      @Nonnull public DataObject toData()
      Description copied from interface: SerializableData
      Serialized DataObject for this object.
      Specified by:
      toData in interface SerializableData
      Returns:
      DataObject
    • getAsMention

      @Nonnull public String getAsMention()
      Description copied from interface: IMentionable
      Retrieve a Mention for this Entity. For the public Role (@everyone), this will return the literal string "@everyone".
      Specified by:
      getAsMention in interface IMentionable
      Returns:
      A resolvable mention.
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object