From 6e059f1721d967ab50970b73686235011b75e2f2 Mon Sep 17 00:00:00 2001 From: Francisco Pessano Date: Sat, 12 Nov 2022 18:34:17 -0300 Subject: [PATCH] added country and/or platform suggestion command --- app.js | 3 --- commands/suggest.js | 50 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 3 deletions(-) create mode 100644 commands/suggest.js diff --git a/app.js b/app.js index dd53596..5470d1f 100644 --- a/app.js +++ b/app.js @@ -28,7 +28,6 @@ for (const file of commandFiles) { } client.on(Events.InteractionCreate, async interaction => { - // if (!interaction.isChatInputCommand()) return; const command = interaction.client.commands.get(interaction.commandName); if (interaction.isChatInputCommand()) { try { @@ -57,7 +56,5 @@ client.on(Events.InteractionCreate, async interaction => { console.error(`No command matching ${interaction.commandName} was found.`); return; } - - }); diff --git a/commands/suggest.js b/commands/suggest.js new file mode 100644 index 0000000..41459cf --- /dev/null +++ b/commands/suggest.js @@ -0,0 +1,50 @@ +const { SlashCommandSubcommandBuilder } = require('discord.js'); +require('dotenv').config(); + +const responses = { + 'suggestionSended': { + 'en-US': `Suggestion sended to <@${process.env.MY_DISCORD_USER_ID}>`, + 'es-ES': `Sugerencia enviada a <@${process.env.MY_DISCORD_USER_ID}>`, + }, +}; + +module.exports = { + data: new SlashCommandSubcommandBuilder() + .setName('suggest') + .setNameLocalizations({ + 'es-ES': 'sugerir', + }) + .setDescription('Suggest a new country and/or platform for add to the bot') + .setDescriptionLocalizations({ + 'es-ES': 'Sugiera un nuevo país y/o plataforma para agregar al bot', + }) + .addStringOption(option => option + .setName('country') + .setNameLocalizations({ + 'es-ES': 'país', + }) + .setDescription('Add a country') + .setDescriptionLocalizations({ + 'es-ES': 'Añadir un país', + }) + .setMaxLength(200)) + .addStringOption(option => option + .setName('platform') + .setNameLocalizations({ + 'es-ES': 'plataforma', + }) + .setDescription('Add a platform for search') + .setDescriptionLocalizations({ + 'es-ES': 'Añadir una plataforma para la busqueda', + })), + async execute(interaction) { + const userLanguage = interaction.locale || 'en-US'; + const country = interaction.options.getString('country'); + const platform = interaction.options.getString('platform'); + const suggestion = [country, platform].filter(a => a).join(' - '); + + const notificationsChannel = interaction.client.channels.cache.get(process.env.NOTIFICATION_DISCORD_CHANNEL_ID); + notificationsChannel.send(`SUGGESTION: ${suggestion}`); + await interaction.reply(responses.suggestionSended[userLanguage]); + }, +}; \ No newline at end of file