mirror of
https://github.com/arthur-pbty/bot-discord-coins.git
synced 2026-06-07 06:45:12 +02:00
59 lines
1.8 KiB
JavaScript
59 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 idAleatoir = Math.floor(Math.random() * 1000000);
|
|
const btn = new ButtonBuilder()
|
|
.setCustomId(`confirm${idAleatoir}`)
|
|
.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${idAleatoir}` && i.user.id !== message.author.id;
|
|
const collector = sentMessage.channel.createMessageComponentCollector ({
|
|
filter,
|
|
time: 120000,
|
|
});
|
|
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 },
|
|
});
|
|
});
|
|
},
|
|
};
|