From 10a70bdb395775cbefb4fa2d85c1f9d2c7b119fb Mon Sep 17 00:00:00 2001 From: derpystuff <3515180-derpystuff@users.noreply.gitlab.com> Date: Tue, 8 Nov 2022 14:06:42 +0100 Subject: [PATCH] better emoji command --- commands/message/utils/emoji.js | 45 +++++++++++++++++++-------------- 1 file changed, 26 insertions(+), 19 deletions(-) diff --git a/commands/message/utils/emoji.js b/commands/message/utils/emoji.js index a0c6cb3..e58723c 100644 --- a/commands/message/utils/emoji.js +++ b/commands/message/utils/emoji.js @@ -31,20 +31,20 @@ module.exports = { if (matches.length) { let form = '.png' if(matches[0].animated) form = '.gif' - return editOrReply(context, {embeds:[ - createEmbed("default", context, { + + return editOrReply(context, createEmbed("default", context, { description: `**${matches[0].name}**`, image: { url: `https://cdn.discordapp.com/emojis/${matches[0].id}${form}` } }) - ]}) + ) } else { const emoji = onlyEmoji(args.emoji) if(!emoji){ - return editOrReply(context, {embeds:[ + return editOrReply(context, createEmbed("warning", context, "No emoji found.") - ]}) + ) } // Emoji Mixing @@ -52,17 +52,15 @@ module.exports = { try{ let em = await emojiKitchen(emoji) if(!em.body.results[0]){ - try{ - await emojiKitchen([emoji[0]]) - }catch(e){ - return editOrReply(context, createEmbed("error", context, `Invalid Emoji (${emoji[0]})`)) + for(const em of emoji){ + try{ + await emojiKitchen([em]) + }catch(e){ + return editOrReply(context, createEmbed("error", context, `Invalid Emoji (${em})`)) + } } - try{ - await emojiKitchen([emoji[1]]) - }catch(e){ - return editOrReply(context, createEmbed("error", context, `Invalid Emoji (${emoji[1]})`)) - } - return editOrReply(context, createEmbed("error", context, "Combination not supported")) + + return editOrReply(context, createEmbed("error", context, "Combination not supported.")) } return editOrReply(context, createEmbed("image", context, { url: em.body.results[0].url })) @@ -82,16 +80,25 @@ module.exports = { } // Regular Emoji Handling + if(emoji.length == 0) return await editOrReply(context, createEmbed("warning", context, "You need to specify an emoji to enlarge.")) + if(!SUPPORTED_EMOJI_PLATFORMS.includes(args.type.toLowerCase())){ - if(!EMOJI_PLATFORM_ALIASES[args.type.toLowerCase()]) return await editOrReply(context, createEmbed("warning", context, "Invalid emoji type")) + if(!EMOJI_PLATFORM_ALIASES[args.type.toLowerCase()]) return await editOrReply(context, createEmbed("warning", context, "Invalid platform type (" + args.type.toLowerCase() + ")")) args.type = EMOJI_PLATFORM_ALIASES[args.type.toLowerCase()] } - if(emoji.length == 0) return await editOrReply(context, createEmbed("warning", context, "You need to specify an emoji to enlarge")) + let emojipediaResult = await emojipedia(context, emoji[0]) emojipediaResult = emojipediaResult.response.body - if(!emojipediaResult.data.vendor_images[args.type]) return await editOrReply(context, createEmbed("error", context, "No image of specified emoji for the requested type")) + + if(!emojipediaResult.data.vendor_images[args.type]){ + let embed = createEmbed("error", context, "No emoji image available for platform " + args.type.toLowerCase() + ".") + embed.footer = { + text: "Available platforms: " + Object.keys(emojipediaResult.data.vendor_images).join(', ') + } + return await editOrReply(context, embed) + } - emojiUrl = emojipediaResult.data.vendor_images[args.type] + emojiUrl = emojipediaResult.data.vendor_images[args.type].replace('/thumbs/150/', '/source/') return editOrReply(context, {embeds:[ createEmbed("default", context, {