From df4aa4f41c45864326adda7550c8491718c074d1 Mon Sep 17 00:00:00 2001 From: *x1 Date: Thu, 20 Jun 2024 17:36:41 +0200 Subject: [PATCH] Update shop --- commands/achats/shop.js | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) diff --git a/commands/achats/shop.js b/commands/achats/shop.js index f224f6d..1ce3d8c 100644 --- a/commands/achats/shop.js +++ b/commands/achats/shop.js @@ -13,7 +13,7 @@ module.exports = { const embed = new EmbedBuilder() .setTitle('🛍️ Shop') .setThumbnail(message.guild.iconURL()) - .setDescription(`Sélectionnez un item à acheter. Voici les items disponibles :\n\n> 🔒 AntiRob - Protège contre les vols pendant 2 heures - Prix : 2000coins\n\n> 🗝️ Clef - Permet d'ouvrir une boite 100%gagante - Prix : 2500coins`) + .setDescription(`Sélectionnez un item à acheter. Voici les items disponibles :\n\n> 🔒 AntiRob - Protège contre les vols pendant 2 heures - Prix : 2000coins\n\n> 🗝️ Clef - Permet d'ouvrir une boite 100%gagante - Prix : 2500coins\n\n\n\n> 💰 25000 Coins - Prix : 1 reputation`) .setColor(await embedColor(message.author.id, message.guild.id)) .setTimestamp() .setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() }); @@ -31,9 +31,15 @@ module.exports = { new StringSelectMenuOptionBuilder() .setLabel('🗝️ Clef') .setValue('key') - .setDescription('Permet d\'ouvrir une boite - coûte 2500coins') + .setDescription('Permet d\'ouvrir une boite') .setEmoji('🗝️') .setDefault(false), + new StringSelectMenuOptionBuilder() + .setLabel('💰 25000 Coins') + .setValue('coins') + .setDescription('Vous donne 25K de coins contre 1reputation') + .setEmoji('💰') + .setDefault(false), ); const row = new ActionRowBuilder() @@ -69,8 +75,7 @@ module.exports = { .setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() }); interaction.reply({ embeds: [embed], allowedMentions: { repliedUser: false } }); - } - if (selected === 'key') { + } else if (selected === 'key') { const user = await new Promise((resolve, reject) => { db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, row) => { if (err) reject(err); @@ -91,6 +96,28 @@ module.exports = { .setTimestamp() .setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() }); + interaction.reply({ embeds: [embed], allowedMentions: { repliedUser: false } }); + } else if (selected === 'coins') { + const user = await new Promise((resolve, reject) => { + db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, row) => { + if (err) reject(err); + resolve(row); + }); + }); + + if (user.reputation < 1) { + return interaction.reply({ content: 'Vous n\'avez pas assez de reputation pour acheter cet item.', ephemeral: true }); + } + + db.run(`UPDATE users SET pocket = pocket + 25000, reputation = reputation - 1 WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id]); + + const embed = new EmbedBuilder() + .setTitle('🛍️ Shop') + .setDescription(`Vous avez acheté \`25000\`coins contre une reputation !`) + .setColor(await embedColor(message.author.id, message.guild.id)) + .setTimestamp() + .setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() }); + interaction.reply({ embeds: [embed], allowedMentions: { repliedUser: false } }); } });