const { EmbedBuilder } = require("discord.js"); const db = require("../../fonctions/database.js"); const embedColor = require("../../fonctions/embedColor.js"); module.exports = { aliases: [], description: "Paye un membre de votre serveur.", emote: "💳", utilisation: " <@membre>", permission: 0, async execute(message, args, client) { let amount; const member = message.mentions.members.first(); const color = await embedColor(message.author.id, message.guild.id); const footer = { text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL(), }; const pocket = 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.pocket); }, ); }); if (!member) { return message.reply({ embeds: [ new EmbedBuilder() .setTitle("Erreur") .setDescription("❌ Veuillez mentionner un membre du serveur.") .setColor(color) .setTimestamp() .setFooter(footer), ], allowedMentions: { repliedUser: false }, }); } if (!args[0]) { return message.reply({ embeds: [ new EmbedBuilder() .setTitle("Erreur") .setDescription("❌ Veuillez spécifier un montant à payer.") .setColor(color) .setTimestamp() .setFooter(footer), ], allowedMentions: { repliedUser: false }, }); } else if (args[0] === "all") { amount = pocket; } else if (isNaN(args[0])) { return message.reply({ embeds: [ new EmbedBuilder() .setTitle("Erreur") .setDescription("❌ Veuillez spécifier un montant valide.") .setColor(color) .setTimestamp() .setFooter(footer), ], allowedMentions: { repliedUser: false }, }); } else if (args[0] <= 0) { return message.reply({ embeds: [ new EmbedBuilder() .setTitle("Erreur") .setDescription("❌ Veuillez spécifier un montant supérieur à `0`.") .setColor(color) .setTimestamp() .setFooter(footer), ], allowedMentions: { repliedUser: false }, }); } else if (args[0] > pocket) { return message.reply({ embeds: [ new EmbedBuilder() .setTitle("Erreur") .setDescription( "❌ Vous n'avez pas assez d'argent pour effectuer cette transaction.", ) .setColor(color) .setTimestamp() .setFooter(footer), ], allowedMentions: { repliedUser: false }, }); } else if (!Number.isInteger(Number(args[0]))) { return message.reply({ embeds: [ new EmbedBuilder() .setTitle("Erreur") .setDescription("❌ Veuillez spécifier un montant entier.") .setColor(color) .setTimestamp() .setFooter(footer), ], allowedMentions: { repliedUser: false }, }); } else { amount = args[0]; } db.run( `UPDATE users SET pocket = pocket - ? WHERE guildId = ? AND userId = ?`, [amount, message.guild.id, message.author.id], ); db.run( `UPDATE users SET pocket = pocket + ? WHERE guildId = ? AND userId = ?`, [amount, message.guild.id, member.id], ); message.reply({ embeds: [ new EmbedBuilder() .setTitle("Paiement") .setDescription( `💰 Vous avez payé \`${amount}\` à ${member.user.tag}.`, ) .setColor(color) .setTimestamp() .setFooter(footer), ], allowedMentions: { repliedUser: false }, }); }, };