const { EmbedBuilder } = require('discord.js'); const db = require('../../fonctions/database.js'); const embedColor = require('../../fonctions/embedColor.js'); module.exports = { aliases: [], description: 'Vol de l\'argent a un membre.', emote: 'đŸŠč', utilisation: '<@membre>', permission: 0, async execute(message, args, client) { const member = message.mentions.users.first(); if (!member) { const embed = new EmbedBuilder() .setTitle('Erreur') .setDescription('❌ Vous devez mentionner un membre.') .setColor(await embedColor(message.author.id, message.guild.id)) .setTimestamp() .setFooter({ text: `DemandĂ© par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() }); return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } }); } 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.lastRob + 7200000 > Date.now()) { const embed = new EmbedBuilder() .setTitle('Erreur') .setDescription(`❌ Vous devez encore attendre ${Math.floor((user.lastRob + 7200000 - Date.now()) / 60000)} minutes avant de pouvoir voler Ă  nouveau.`) .setColor(await embedColor(message.author.id, message.guild.id)) .setTimestamp() .setFooter({ text: `DemandĂ© par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() }); return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } }); } const memberInfo = await new Promise((resolve, reject) => { db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, member.id], (err, row) => { if (err) reject(err); resolve(row); }); }); if (memberInfo.antiRob + 7200000 > Date.now()) { const embed = new EmbedBuilder() .setTitle('Erreur') .setDescription(`❌ Vous ne pouvez pas voler <@${member.id}> pour le moment, il est protĂ©gĂ© par un bouclier anti-vol pendant encore ${Math.floor((memberInfo.antiRob + 7200000 - Date.now()) / 60000)} minutes.`) .setColor(await embedColor(message.author.id, message.guild.id)) .setTimestamp() .setFooter({ text: `DemandĂ© par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() }); return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } }); } const memberPocket = memberInfo.pocket; if (memberPocket <= 0) { const embed = new EmbedBuilder() .setTitle('Erreur') .setDescription(`❌ <@${member.id}> n'a pas d'argent sur lui pour que vous puissiez le voler.`) .setColor(await embedColor(message.author.id, message.guild.id)) .setTimestamp() .setFooter({ text: `DemandĂ© par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() }); return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } }); } const amount = Math.floor(Math.random() * memberPocket) + 1; db.run(`UPDATE users SET pocket = pocket - ? WHERE guildId = ? AND userId = ?`, [amount, message.guild.id, member.id]); db.run(`UPDATE users SET pocket = pocket + ?, lastRob = ? WHERE guildId = ? AND userId = ?`, [amount, Date.now(), message.guild.id, message.author.id]); const embed = new EmbedBuilder() .setTitle('Vol') .setDescription(`💰 Vous avez volĂ© ${amount} Ă  <@${member.id}>.`) .setColor(await embedColor(message.author.id, message.guild.id)) .setTimestamp() .setFooter({ text: `DemandĂ© par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() }); message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } }); }, };