mirror of
https://github.com/arthur-pbty/bot-discord-coins.git
synced 2026-06-12 00:04:29 +02:00
99 lines
4.8 KiB
JavaScript
99 lines
4.8 KiB
JavaScript
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 } })
|
|
}
|
|
}
|
|
}; |