UNPKG

discord-memoji

Version:

Memoji is a discord npm package that allows you to manage every emotes/emojis on your server in an easy and efficient way.

66 lines (61 loc) 3.17 kB
require('colors'); module.exports = function extendDiscordGuild(Guild) { class DiscordUtilsGuild extends Guild { constructor(client, data) { super(client, data); /** * Show emoji's URL * @param {String} emoji - Emoji's Informations like "<:nyrok:862504620122570792>" * @returns {String} - Returns Emoji's URL */ this.emojiShow = (emoji) => { let emote; if (typeof emoji !== "string" && typeof emoji !== "object" || !emoji) { return console.log("[discord-memoji] The provided emoji isn't a valid emoji.".red); } if (typeof emoji === "object") { emote = emoji[0] } else if (typeof emoji === "string") { emote = emoji } let emoji_ID = emote.split(":")[2].replace(">", ""); if (typeof emoji_ID !== "string" || emoji_ID.length !== 18 || !emoji_ID || Number.isNaN(Number(emoji_ID)) === false) return console.log("[discord-memoji] Invalid ID provided.".red); else { return "https://cdn.discordapp.com/emojis/" + emoji_ID + ".png"; } } /** * Add an emoji to a Guild * @param {String} name - The Name of the Emoji * @param {String} image - The Emoji's Image * @returns {Boolean} - Response True or False */ this.emojiAdd = (name, image) => { return new Promise(async (resolve, reject) => { if (typeof name !== "string" || !name) { return reject(new Error("[discord-memoji] The provided name isn't a valid name.").red); } if (typeof image !== "string" || !image) { return reject(new Error("[discord-memoji] The provided image isn't a valid image.").red); } resolve(this.emojis.create(image, name)) }) } /** * Remove an emoji to a Guild * @param {String} emoji_ID - ID of the emoji to delete * @returns {Boolean} - Response True or False */ this.emojiRemove = (emoji_ID) => { return new Promise(async (resolve, reject) => { this.members.fetch(client.user.id).then(member => { if (!member.hasPermission("MANAGE_EMOJIS")) return reject(new Error("[discord-memoji] This guild member doesn't have the 'MANAGE_EMOJIS' permission.".red)); }) if (typeof emoji_ID !== "string" || emoji_ID.length !== 18 || !emoji_ID || Number.isNaN(Number(emoji_ID)) === false) return reject(new Error("[discord-memoji] The provided emoji's ID isn't a valid ID.").red); resolve(client.emojis.cache.get(emoji_ID).delete()); }) } } } return DiscordUtilsGuild; }