From be6c790e43be36cfa6669110c7064a67ad3c4623 Mon Sep 17 00:00:00 2001 From: Minteck Date: Sat, 8 Jan 2022 21:47:45 +0100 Subject: Update --- handler/button.js | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 69 insertions(+), 3 deletions(-) mode change 100755 => 100644 handler/button.js (limited to 'handler/button.js') diff --git a/handler/button.js b/handler/button.js old mode 100755 new mode 100644 index 5d5fe03..8fc49f5 --- a/handler/button.js +++ b/handler/button.js @@ -1,12 +1,41 @@ const fs = require('fs'); -const { MessageActionRow, MessageButton, MessageSelectMenu, MessageEmbed } = require('discord.js'); +const path = require('path'); +const { MessageActionRow, MessageButton, MessageSelectMenu, MessageEmbed, MessageAttachment } = require('discord.js'); + +const getPixel = require('../modules/pixel.js'); +const getEmbed = require("../modules/embed"); module.exports = async (interaction) => { keys = interaction.customId.split("|") - if (keys[0] === "result.report") { + if (keys[0] === "pony.display") { + await interaction.reply({ + ephemeral: true, + embeds: [ + getEmbed(keys[1], interaction.user.id, interaction.guild.id) + ], + components: [ + new MessageActionRow() + .addComponents( + new MessageButton() + .setLabel(l("Read More", "Lire plus", interaction.user.id, interaction.guild.id)) + .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.id)) + .setStyle("DANGER") + ) + ] + }); + } else if (keys[0] === "result.report") { await interaction.reply({ - ephemeral: false, + ephemeral: true, embeds: [ new MessageEmbed() .setColor('#dc2828') @@ -50,10 +79,47 @@ module.exports = async (interaction) => { description: l("A provided info does not correspond to the real info from a reliable source.", "Une information fournie ne correspond pas à la réelle information depuis une source fiable.", interaction.user.id, interaction.guild.id), value: 'report.issue.missinfo|' + keys[1], }, + { + label: l("Translation issue", "Problème de traduction", interaction.user.id, interaction.guild.id), + description: l("The English translation of a formerly French content is wrong and needs to be fixed.", "La version française d'un contenu originellement en anglais est erronée et doit être corrigée.", interaction.user.id, interaction.guild.id), + value: 'report.issue.translation|' + keys[1], + }, ]), ) ] }); + } else if (keys[0] === "pony.pixel") { + await interaction.reply({ + ephemeral: true, + embeds: [ + new MessageEmbed() + .setColor('#28dc46') + .setTitle(l("Pixel Art for", "Pixel Art correspondant à", interaction.user.id, interaction.guild.id) + " \"" + keys[1] + "\"") + ], + files: [ + new MessageAttachment(fs.readFileSync(getPixel(keys[1])), path.basename(getPixel(keys[1]))) + ], + components: [ + new MessageActionRow() + .addComponents( + new MessageButton() + .setCustomId("result.report|" + getPixel(keys[1])) + .setLabel(l("Report an issue", "Signaler un problème", interaction.user.id, interaction.guild.id)) + .setStyle("DANGER") + ) + ] + }); + } else if (keys[0] === "result.suggest") { + fs.writeFileSync("./reports/Telemetry-Request-" + (new Date().toISOString().replace(/[^a-zA-Z0-9]/gm, "-")) + ".txt", "-------------------------\nPonyfind Telemetry Report\n-------------------------\n\nReport Type:\n Pony Request Report\n\n-------------------------\n\nReporter:\n " + interaction.user.tag + " (" + interaction.user.id + ")\n\nServer:\n " + interaction.guild.name + " (" + interaction.guild.id + ")\n\nChannel:\n " + interaction.channel.name + " (" + interaction.channel.id + ")\n\nItem:\n " + keys[1] + "\n\nReport Type:\n -"); + await interaction.reply({ + ephemeral: true, + embeds: [ + new MessageEmbed() + .setColor('#28dc46') + .setTitle(l("Thanks for suggesting", "Merci d'avoir proposé", interaction.user.id, interaction.guild.id) + " \"" + keys[1] + "\"" + l("!", " !", interaction.user.id, interaction.guild.id)) + .setDescription(l("Your suggestion has been sent to the developers. They can contact you later if your settings allow this to ask you more about your request.\nThanks for your help!", "Votre suggestion a bien été envoyée aux développeurs. Ils pourront vous recontacter si vos paramètres le permettent afin de vous poser plus de questions sur votre requête.\nMerci d'aider à améliorer notre système !", interaction.user.id, interaction.guild.id)) + ] + }); } else { throw new Error("Unknown Button ID"); } -- cgit