Files
bot-discord-coins/commands/gestion/drop.js
T
2024-06-17 19:37:22 +02:00

53 lines
1.8 KiB
JavaScript

const { ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
const db = require('../../fonctions/database.js');
module.exports = {
aliases: ['give'],
description: 'Donne des coins au premier qui appuie sur un bouton.',
emote: '🪙',
utilisation: '<amount>',
permission: 0,
async execute(message, args, client) {
if (isNaN(args[0])) return message.reply('La somme dois etre un nombre...')
const btn = new ButtonBuilder()
.setCustomId('confirm')
.setLabel('💰')
.setStyle(ButtonStyle.Primary);
const row = new ActionRowBuilder()
.addComponents(btn);
const sentMessage = message.channel.send('_ _')
let contage = 0
while (contage == 100) {
setTimeout(() => {
sentMessage.edit(`> Chargement : **${contage}%**`)
contage = + 1
}, 450);
}
await sentMessage.edit({
content: `Appuis vite sur le bouton pour gagner ${args[0]}coins`,
components: [row],
allowedMentions: { repliedUser: false },
});
const filter = i => i.customId === 'confirm' && i.user.id !== message.author.id;
const collector = sentMessage.createMessageComponentCollector({ filter, time: 30000 })
collector.on('collect', async (interaction) => {
sentMessage.edit({
content: `Le drop est gagner par <@${interaction.user.id}>`,
components: [],
allowedMentions: { repliedUser: false },
});
db.run(`UPDATE users SET pocket = pocket + ? WHERE guildId = ? AND userId = ?`, [args[0], message.guild.id, interaction.user.id]);
interaction.reply({ content: 'Tu as gagner le drop !', ephemeral: true, allowedMentions: { repliedUser: false } });
});
collector.on('end', () => {
sentMessage.edit({ components: [], ephemeral: true, allowedMentions: { repliedUser: false } });
});
}
};