/* * MIT License * * Copyright (c) 2022- Minteck * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * */ const fs = require('fs'); const {MessageActionRow, MessageButton, MessageSelectMenu, MessageEmbed} = require('discord.js'); const admin = fs.readFileSync("./config/admin.txt").toString().trim(); const list = Object.keys(JSON.parse(fs.readFileSync("./data/data.json").toString())); const getResult = require('../modules/result'); const getEmbed = require('../modules/embed'); const getPixel = require("../modules/pixel"); const official = fs.readFileSync("./config/official.txt").toString().replace(/\r\n/g, "\n").split("\n"); const fpserver = fs.readFileSync("./config/fpserver.txt").toString().trim(); module.exports = async (interaction) => { keys = [ null, list[Math.floor(Math.random() * list.length)] ] if (statsPonies[keys[1]] !== undefined) { statsPonies[keys[1]]++; } else { statsPonies[keys[1]] = 1; } fs.writeFile("./stats/ponies.json", JSON.stringify(statsPonies), () => {}); await interaction.reply({ ephemeral: interaction.guild !== null, embeds: [ getEmbed(keys[1], interaction.user.id, interaction.guild ? interaction.guild.id : 0, false, interaction.user, interaction.member, interaction.guild) ], components: [ new MessageActionRow() .addComponents( new MessageButton() .setLabel(l("Read More", "Lire plus", interaction.user.id, interaction.guild ? interaction.guild.id : 0)) .setStyle("LINK") .setURL("https://mlp.fandom.com/wiki/" + encodeURI(keys[1])), new MessageButton() .setCustomId("pony.pixel|" + keys[1]) .setLabel("Pixel Art") .setDisabled(!fs.existsSync("./pixel/" + keys[1].toLowerCase())) .setStyle("SECONDARY"), new MessageButton() .setCustomId("result.report|" + keys[1]) .setLabel(l("Report an issue", "Signaler un problème", interaction.user.id, interaction.guild ? interaction.guild.id : 0)) .setStyle("DANGER") ) ] }); }