const { EmbedBuilder, ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js'); const embedColor = require('../../fonctions/embedColor.js'); const db = require('../../fonctions/database.js'); module.exports = { aliases: ['roulette'], description: 'Lance une roulette 100% gagante. (coûte une clef)', emote: '🎲', utilisation: '', permission: 0, async execute(message, args, client) { const key = await new Promise((resolve, reject) => { db.get(`SELECT key FROM users WHERE userId = ? AND guildId = ?`, [message.author.id, message.guild.id], (err, row) => { if (err) { reject(err); } else { resolve(row.key); } }); }); if (key == 0) return message.reply('Tu n\'as pas de clef, tu ne peux pas ouvrir de box') db.run(`UPDATE users SET key = key - 1 WHERE userId = ? AND guildId = ?`, [message.author.id, message.guild.id]) const embed = new EmbedBuilder() .setTitle('🗝️ Box') .setDescription(`🪙👑🗝️\n💰🔺🪙\n🪙🪙🗝️`) .setColor(await embedColor(message.author.id, message.guild.id)) .setTimestamp() .setFooter({ text: `Demandé par ${message.author.tag} | Il te reste ${key - 1}clef`, iconURL: message.author.displayAvatarURL() }) const msg = await message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } }) await new Promise(resolve => setTimeout(resolve, 1000)); const result = Math.floor(Math.random() * 30); let gain = ''; let emoji = ''; let recompense = ''; if (result === 0) { gain = '30000'; emoji = '💰'; recompense = 'bank'; } else if (result === 1) { gain = '5'; emoji = '🗝️'; recompense = 'key'; } else if (result === 2) { emoji = '👑'; recompense = 'couronne'; } else if (result % 2 === 0) { gain = '5000'; emoji = '🪙'; recompense = 'pocket'; } else { gain = '3'; emoji = '🔺'; recompense = 'reputation'; } if (recompense !== 'couronne') { await new Promise((resolve, reject) => { db.run(`UPDATE users SET ${recompense} = ${recompense} + ? WHERE userId = ? AND guildId = ?`, [gain, message.author.id, message.guild.id], (err) => { if (err) { reject(err); } else { resolve(); } }); }); msg.delete() message.reply({ embeds: [ new EmbedBuilder() .setTitle('🗝️ Box') .setDescription(`${emoji, emoji, emoji}\n${emoji, emoji, emoji}\n${emoji, emoji, emoji}\n\nVous avez gagner ${gain}${recompense} !`) .setColor(await embedColor(message.author.id, message.guild.id)) .setTimestamp() .setFooter({ text: `Demandé par ${message.author.tag} | Il te reste ${key - 1}clef`, iconURL: message.author.displayAvatarURL() }) ], allowedMentions: { repliedUser: false } }) } else { db.run(`UPDATE users SET bank = bank + ? WHERE userId = ? AND guildId = ?`, [15000, message.author.id, message.guild.id]) db.run(`UPDATE users SET pocket = pocket + ? WHERE userId = ? AND guildId = ?`, [5000, message.author.id, message.guild.id]) db.run(`UPDATE users SET reputation = reputation + ? WHERE userId = ? AND guildId = ?`, [5, message.author.id, message.guild.id]) db.run(`UPDATE users SET key = key + ? WHERE userId = ? AND guildId = ?`, [5, message.author.id, message.guild.id]) db.run(`UPDATE users SET xp = xp + ? WHERE userId = ? AND guildId = ?`, [50, message.author.id, message.guild.id]) db.run(`UPDATE users SET lvl = lvl + ? WHERE userId = ? AND guildId = ?`, [2, message.author.id, message.guild.id]) msg.delete() message.reply({ embeds: [ new EmbedBuilder() .setTitle('🗝️ Box') .setDescription(`${emoji, emoji, emoji}\n${emoji, emoji, emoji}\n${emoji, emoji, emoji}\n\n## **Vous avez gagner \`15000\`coins en bank, \`5000\`coins en poche, \`5\`reputation, \`5\`clef, \`50\`xp et \`5\`niveau !!**`) .setColor(await embedColor(message.author.id, message.guild.id)) .setTimestamp() .setFooter({ text: `Demandé par ${message.author.tag} | Il te reste ${key - 1}clef`, iconURL: message.author.displayAvatarURL() }) ], allowedMentions: { repliedUser: false } }) } } };