diff --git a/commands/gestion/set.js b/commands/gestion/set.js new file mode 100644 index 0000000..a289890 --- /dev/null +++ b/commands/gestion/set.js @@ -0,0 +1,51 @@ +const { EmbedBuilder } = require('discord.js'); +const db = require('../../fonctions/database.js'); +const embedColor = require('../../fonctions/embedColor.js'); + +module.exports = { + aliases: [], + description: 'Defini la solde d\'un membre (a utiliser pour remplacer un `NaN` dans le `&me`).', + emote: '💰', + utilisation: ' [@membre]', + permission: 10, + + async execute(message, args, client) { + 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); + }); + }); + + let member = message.author; + let title = 'Definition de solde'; + let description = `💰 Vous avez mis à ${args[0]} votre ${args[1]}.`; + + if (isNaN(args[0])) { + title = 'Erreur'; + description = '❌ Veuillez entrer un montant valide.'; + } else if (args[0] <= 0) { + title = 'Erreur'; + description = '❌ Veuillez entrer un montant supérieur à 0.'; + } else if (args[1] !== 'pocket' && args[1] !== 'bank' && args[1] !== 'reputation') { + title = 'Erreur'; + description = '❌ Veuillez entrer une destination valide (pocket, bank, reputation).'; + } else if (message.mentions.users.first()) { + member = message.mentions.users.first(); + description = `💰 Vous avez mis à ${args[0]} la ${args[1]} de ${member.tag}.`; + } + + const embed = new EmbedBuilder() + .setTitle(title) + .setDescription(description) + .setColor(await embedColor(message.author.id, message.guild.id)) + .setTimestamp() + .setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() }); + + if (title !== 'Erreur') { + db.run(`UPDATE users SET ${args[1]} = ? WHERE guildId = ? AND userId = ?`, [args[0], message.guild.id, member.id]); + } + + message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } }); + }, +};