text: /**
   * Represents a limited emoji set used for both custom and unicode emojis. Custom emojis
   * will use this class opposed to the Emoji class when the client doesn't know enough
   * information about them.
   */
  class ReactionEmoji {
    constructor(reaction, name, id) {
      /**
       * The message reaction this emoji refers to
       * @type {MessageReaction}
       */
      this.reaction = reaction;
  
      /**
       * The name of this reaction emoji
       * @type {string}
       */
      this.name = name;
  
      /**
       * The ID of this reaction emoji
       * @type {?Snowflake}
       */
      this.id = id;
    }
  
    /**
     * The identifier of this emoji, used for message reactions
     * @type {string}
     * @readonly
     */
    get identifier() {
      if (this.id) return `${this.name}:${this.id}`;
      return encodeURIComponent(this.name);
    }
  
    /**
     * Creates the text required to form a graphical emoji on Discord.
     * @example
     * // Send the emoji used in a reaction to the channel the reaction is part of
     * reaction.message.channel.send(`The emoji used is ${reaction.emoji}`);
     * @returns {string}
     */
    toString() {
      return this.id ? `<:${this.name}:${this.id}>` : this.name;
    }
  }
  
  module.exports = ReactionEmoji;
  