mirror of
https://github.com/arthur-pbty/bot-discord-coins.git
synced 2026-06-05 08:11:51 +02:00
52 lines
2.3 KiB
JavaScript
52 lines
2.3 KiB
JavaScript
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] })
|
|
}
|
|
}
|
|
}; |