From 84af829e91593b7672ce25791b478354b295e34b Mon Sep 17 00:00:00 2001 From: Minteck Date: Fri, 11 Feb 2022 19:14:56 +0100 Subject: Fix: doesn't show custom emojis where they can't show (fixes #2) --- modules/embed.js | 9 +++++---- modules/emoji.js | 13 +++++++++++++ modules/generation.js | 10 ++++++---- 3 files changed, 24 insertions(+), 8 deletions(-) create mode 100644 modules/emoji.js (limited to 'modules') diff --git a/modules/embed.js b/modules/embed.js index 24adc3c..23bd392 100644 --- a/modules/embed.js +++ b/modules/embed.js @@ -4,9 +4,10 @@ const data = require('../data/data.json'); const getKindIcon = require("./kind"); const getGeneration = require("./generation"); +const customEmoji = require('./emoji'); const cuties = fs.readFileSync("./config/cuties.txt").toString(); -module.exports = (page, id, gid, isPublic, user) => { +module.exports = (page, id, gid, isPublic, user, member, guild) => { if (typeof data[page] === "undefined") { return false; } @@ -43,7 +44,7 @@ module.exports = (page, id, gid, isPublic, user) => { case "Babs Seed": case "Apple Bloom": case "Sweetie Belle": - sign = cuties.trim(); + sign = customEmoji(cuties.trim(), member, guild); break; default: @@ -188,8 +189,8 @@ module.exports = (page, id, gid, isPublic, user) => { let fields = [ { name: l("Nicknames", "Surnoms", id, gid), value: naming, inline: true }, { name: l("Sex", "Sexe", id, gid), value: d.sex === "F" ? "♀ " + l("Female", "Fille", id, gid) : "♂ " + l("Male", "Garçon", id, gid), inline: true }, - { name: l("Kind", "Type", id, gid), value: getKindIcon(page) + " " + kind, inline: true }, - { name: l("Generation", "Génération", id, gid), value: getGeneration(page, id, gid), inline: true }, + { name: l("Kind", "Type", id, gid), value: customEmoji(getKindIcon(page), member, guild) + " " + kind, inline: true }, + { name: l("Generation", "Génération", id, gid), value: getGeneration(page, id, gid, member, guild), inline: true }, ]; if (spoils[id] === 1 && !isPublic) { diff --git a/modules/emoji.js b/modules/emoji.js new file mode 100644 index 0000000..10e3b44 --- /dev/null +++ b/modules/emoji.js @@ -0,0 +1,13 @@ +module.exports = (emoji, member, guild) => { + if (guild) { + let me = guild.me; + + if (guild.roles.everyone.permissions.has("USE_EXTERNAL_EMOJIS") && me.permissions.has("USE_EXTERNAL_EMOJIS")) { + return emoji; + } else { + return ""; + } + } else { + return emoji; + } +} \ No newline at end of file diff --git a/modules/generation.js b/modules/generation.js index afb044d..da5cd60 100644 --- a/modules/generation.js +++ b/modules/generation.js @@ -2,17 +2,19 @@ const fs = require('fs'); const db = JSON.parse(fs.readFileSync("./data/data.json").toString()); const icons = require('./icons.js'); +const customEmoji = require("./emoji"); +const getKindIcon = require("./kind"); -module.exports = (pony, uid, gid) => { +module.exports = (pony, uid, gid, member, guild) => { sel = db[pony]; switch (d.generation) { case 4: - return icons.generations.g4 + " " + l("Friendship is Magic", "Les amies c'est magique", uid, gid); + return customEmoji(icons.generations.g4, member, guild) + " " + l("Friendship is Magic", "Les amies c'est magique", uid, gid); case 5: - return icons.generations.g5 + " " + l("A New Generation", "Nouvelle Génération", uid, gid); + return customEmoji(icons.generations.g5, member, guild) + " " + l("A New Generation", "Nouvelle Génération", uid, gid); default: - return icons.generations.other + " " + l("Other/Unknown", "Autre/inconnu", uid, gid); + return customEmoji(icons.generations.other, member, guild) + " " + l("Other/Unknown", "Autre/inconnu", uid, gid); } } \ No newline at end of file -- cgit