mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-10 00:23:30 +01:00
50 lines
1.2 KiB
JavaScript
50 lines
1.2 KiB
JavaScript
/**
|
|
* 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 {string}
|
|
*/
|
|
this.id = id;
|
|
}
|
|
|
|
/**
|
|
* The identifier of this emoji, used for message reactions
|
|
* @readonly
|
|
* @type {string}
|
|
*/
|
|
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.sendMessage(`The emoji used is ${reaction.emoji}`);
|
|
* @returns {string}
|
|
*/
|
|
toString() {
|
|
return this.id ? `<:${this.name}:${this.id}>` : this.name;
|
|
}
|
|
}
|
|
|
|
module.exports = ReactionEmoji;
|