mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
* docs: Add/normalize .toString() examples on all classes * docs: Remove exclamation point on ClientApplication#toString example * docs: Normalize .toString() descriptions on all classes * Use "returns" instead of "concatenates"
51 lines
1.3 KiB
JavaScript
51 lines
1.3 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 {?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);
|
|
}
|
|
|
|
/**
|
|
* When concatenated with a string, this automatically returns the text required to form a graphical emoji on Discord
|
|
* instead of the ReactionEmoji object.
|
|
* @returns {string}
|
|
* @example
|
|
* // Send the emoji used in a reaction to the channel the reaction is part of
|
|
* reaction.message.channel.send(`The emoji used was: ${reaction.emoji}`);
|
|
*/
|
|
toString() {
|
|
return this.id ? `<:${this.name}:${this.id}>` : this.name;
|
|
}
|
|
}
|
|
|
|
module.exports = ReactionEmoji;
|