const { Events, EmbedBuilder } = require("discord.js"); const db = require("../fonctions/database.js"); const embedColor = require("../fonctions/embedColor.js"); module.exports = { name: Events.MessageCreate, async execute(message, client) { if (message.channel.type === "DM") return; if (message.author.bot) return; 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.blacklist == true) { return } ////////////////////////////////////////////////////////////////// /////////////////////////// xp systeme /////////////////////////// ////////////////////////////////////////////////////////////////// if (message.content.length < 50) { db.run(`UPDATE users SET xp = xp + 1 WHERE guildId = ? AND userId = ?`, [ message.guild.id, message.author.id, ]); } else if (message.content.length < 100) { db.run(`UPDATE users SET xp = xp + 5 WHERE guildId = ? AND userId = ?`, [ message.guild.id, message.author.id, ]); } else { db.run(`UPDATE users SET xp = xp + 10 WHERE guildId = ? AND userId = ?`, [ message.guild.id, message.author.id, ]); } ////////////////////////////////////////////////////////////////// /////////////////////////// lvl systeme ////////////////////////// ////////////////////////////////////////////////////////////////// if (user.xp >= 100 * user.lvl) { db.run( `UPDATE users SET xp = xp - ?, lvl = lvl + 1, pocket = pocket + ?, reputation = reputation + ? WHERE guildId = ? AND userId = ?`, [100 * user.lvl, ((user.lvl + 1) * 250), Math.ceil((user.lvl + 1) / 5), message.guild.id, message.author.id] ); const embedlvl = new EmbedBuilder() .setTitle("Nouveau niveau !") .setDescription(`Bravo ${message.author}, tu es passé niveau ${user.lvl + 1} sur le serveur \`${message.guild.name}\` !\nTu as reçu \`${(user.lvl + 1) * 250}\` 🪙 et \`${Math.ceil((user.lvl + 1) / 5)}\` 🔺 !`) .setColor(await embedColor(message.author.id, message.guild.id)); message.author.send({ embeds: [embedlvl] }); } }, };