mirror of
https://github.com/arthur-pbty/bot-discord-coins.git
synced 2026-06-03 23:36:29 +02:00
60 lines
2.3 KiB
JavaScript
60 lines
2.3 KiB
JavaScript
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] });
|
|
}
|
|
},
|
|
};
|