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 }, }); } }, };