mirror of
https://github.com/arthur-pbty/bot-discord-coins.git
synced 2026-06-05 21:51:43 +02:00
73 lines
2.4 KiB
JavaScript
73 lines
2.4 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 == 1) {
|
|
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] });
|
|
}
|
|
},
|
|
};
|