Files
bot-discord-coins/commands/gestion/drop.js
T
2024-06-24 00:32:05 +02:00

73 lines
2.1 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 sentMessage = 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: 45000,
});
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 },
});
});
},
};