From 1a30f2a70000906388243711e2eb1804d62102ad Mon Sep 17 00:00:00 2001 From: *x1 Date: Sun, 2 Jun 2024 22:00:55 +0200 Subject: [PATCH] Add drop --- commands/gestion/drop.js | 43 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 commands/gestion/drop.js diff --git a/commands/gestion/drop.js b/commands/gestion/drop.js new file mode 100644 index 0000000..64b3b0a --- /dev/null +++ b/commands/gestion/drop.js @@ -0,0 +1,43 @@ +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: '', + 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 = await message.reply({ + 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 } }); + }); + } +}; \ No newline at end of file