Files
bot-discord-coins/events/interactionCreate.js
T
2024-05-28 19:24:37 +02:00

50 lines
2.4 KiB
JavaScript

const { Events } = require('discord.js');
const db = require('../fonctions/database.js');
const embedColor = require('../fonctions/embedColor.js');
module.exports = {
name: Events.InteractionCreate,
async execute(client, interaction) {
if (!interaction.isButton()) return
if (interaction.customId === "lvl_Recomp_Rep") {
const lvl = interaction.message.embeds[0].fields[0].value
const serv = interaction.message.embeds[0].fields[1].value
const user = await new Promise((resolve, reject) => {
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [serv, member.id], (err, row) => {
if (err) reject(err);
resolve(row);
});
});
db.run(`UPDATE users SET reputation = reputation + ? WHERE guildId = ? AND userId = ?`, [lvl, serv, message.author.id]);
const embedClaim = new EmbedBuilder()
.setTitle('Recompense du niveau ' + lvl + ':')
.setDescription('La recompense du niveau ' + lvl + 'était de ' + lvl + 'reputation, ou bien de ' + lvl * 500 + 'coins\n\nVous avez choisi les reputations, vous avez donc `' + user.reputation + '` reputation !')
.setColor(await embedColor(message.author.id, serv))
.setTimestamp()
.setFooter({ text: `La recompense à été reçu sur le serveur ${serv.name}` })
interaction.edit({ embeds: [embedClaim], components: [] })
}
if (interaction.customId === "lvl_Recomp_Coins") {
const lvl = interaction.message.embeds[0].fields[0].value
const serv = interaction.message.embeds[0].fields[1].value
db.run(`UPDATE users SET pocket = pocket + ? WHERE guildId = ? AND userId = ?`, [lvl * 500, serv, message.author.id]);
const embedClaim = new EmbedBuilder()
.setTitle('Recompense du niveau ' + lvl + ':')
.setDescription('La recompense du niveau ' + lvl + 'était de ' + lvl + 'reputation, ou bien de ' + lvl * 500 + 'coins\n\nVous avez choisi les coins, vous avez donc `' + lvl * 500 + '` coins en plus !')
.setColor(await embedColor(message.author.id, serv))
.setTimestamp()
.setFooter({ text: `La recompense à été reçu sur le serveur ${serv.name}` })
interaction.edit({ embeds: [embedClaim], components: [] })
}
}
}