From 40c610987e1c14740b4f94901ef2bafca4f03f5d Mon Sep 17 00:00:00 2001 From: Lana Reeve Date: Wed, 12 Apr 2017 00:32:18 -0400 Subject: [PATCH] Improved EmojiIdentifierResolvable support (#1361) * EmojiIdentifierResolvable now supports emoji IDs and pre-encoded unicode * forgot to return the identifier and not the emoji itself * using ? in JSDoc instead of |null --- src/client/ClientDataResolver.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/client/ClientDataResolver.js b/src/client/ClientDataResolver.js index c44ea5b34..7d6f78d76 100644 --- a/src/client/ClientDataResolver.js +++ b/src/client/ClientDataResolver.js @@ -236,21 +236,24 @@ class ClientDataResolver { /** * Data that can be resolved to give an emoji identifier. This can be: - * * A string - * * An Emoji - * * A ReactionEmoji + * * The unicode representation of an emoji + * * A custom emoji ID + * * An Emoji object + * * A ReactionEmoji object * @typedef {string|Emoji|ReactionEmoji} EmojiIdentifierResolvable */ /** * Resolves an EmojiResolvable to an emoji identifier * @param {EmojiIdentifierResolvable} emoji The emoji resolvable to resolve - * @returns {string} + * @returns {?string} */ resolveEmojiIdentifier(emoji) { if (emoji instanceof Emoji || emoji instanceof ReactionEmoji) return emoji.identifier; if (typeof emoji === 'string') { - if (!emoji.includes('%')) return encodeURIComponent(emoji); + if (!isNaN(parseInt(emoji))) return this.client.emojis.get(emoji).identifier; + else if (!emoji.includes('%')) return encodeURIComponent(emoji); + else return emoji; } return null; }