const { Message, Events, ActionRowBuilder, ActionRow, ButtonBuilder, EmbedBuilder } = require("discord.js"); const db = require('../fonctions/database.js'); module.exports = { name: Events.MessageCreate, async execute(message, client) { if (message.author.bot) return; if (message.content.length < 50) { db.run(`UPDATE users SET xp = xp + 1 WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id]); } if (message.content.length >= 50) { db.run(`UPDATE users SET xp = xp + 3 WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id]); } 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.xp >= 100 * user.lvl) { db.run(`UPDATE users SET xp = 0, lvl = lvl + 1 WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id]); const embedlvl = new EmbedBuilder() .setTitle('Nouveau niveau !') .setDescription('Vous avez passé(e) un niveau sur ' + message.guild.name + ' !!\n\nVeuillez choisir une recompense :') .setColor(await embedColor(message.author.id, message.guild.id)) .setTimestamp() .addFields({ name: 'Le niveau passé :', value: `${user.lvl}`, inline: true }) .addFields({ name: 'Serveur id :', value: `${message.guild.id}`, inline: true}) .setFooter({ text: `Merci d'être actif/ve`, iconURL: message.author.displayAvatarURL() }) const btn1 = new ButtonBuilder() .setCustomId('lvl_Recomp_Rep') .setLabel(user.lvl + 'reputation') .setStyle(ButtonStyle.Primary); const btn2 = new ButtonBuilder() .setCustomId('lvl_Recomp_Coins') .setLabel(user.lvl * 500 + 'coins') .setStyle(ButtonStyle.Primary); const row = new ActionRowBuilder() .addComponents(btn1) .addComponents(btn2) message.author.send({ embeds: [embedlvl], components: [row] }) } } };