import fs from "fs"; import emojiRegex from "emoji-regex"; import emoji from "node-emoji"; import ImageCommand from "../../classes/imageCommand.js"; class FlagCommand extends ImageCommand { flagPath = ""; async criteria() { if (!this.args[0].match(emojiRegex)) return false; const flag = emoji.unemojify(this.args[0]).replaceAll(":", "").replace("flag-", ""); let path = `./assets/images/region-flags/png/${flag.toUpperCase()}.png`; if (flag === "pirate_flag") path = "./assets/images/pirateflag.png"; if (flag === "rainbow-flag") path = "./assets/images/rainbowflag.png"; if (flag === "checkered_flag") path = "./assets/images/checkeredflag.png"; if (flag === "transgender_flag") path = "./assets/images/transflag.png"; if (this.args[0] === "🏴󠁧󠁢󠁳󠁣󠁴󠁿") path = "./assets/images/region-flags/png/GB-SCT.png"; if (this.args[0] === "🏴󠁧󠁢󠁷󠁬󠁳󠁿") path = "./assets/images/region-flags/png/GB-WLS.png"; if (this.args[0] === "🏴󠁧󠁢󠁥󠁮󠁧󠁿") path = "./assets/images/region-flags/png/GB-ENG.png"; try { await fs.promises.access(path); this.flagPath = path; return true; } catch { return false; } } params() { return { overlay: this.flagPath }; } static description = "Overlays a flag onto an image"; static arguments = ["[flag]"]; static requiresText = true; static noText = "You need to provide an emoji of a flag to overlay!"; static noImage = "You need to provide an image/GIF to overlay a flag onto!"; static command = "flag"; } export default FlagCommand;