mirror of
https://github.com/arthur-pbty/gestion.git
synced 2026-06-04 15:56:42 +02:00
50 lines
2.1 KiB
JavaScript
50 lines
2.1 KiB
JavaScript
const { EmbedBuilder, StringSelectMenuBuilder, ActionRowBuilder } = require('discord.js');
|
|
|
|
module.exports = {
|
|
name: 'poll',
|
|
description: 'Crée un sondage',
|
|
emote: '📊',
|
|
utilisation: 'poll <question> <réponse1> <réponse2> <réponse3> ...',
|
|
category: 'utils',
|
|
async execute(message, args, client) {
|
|
message.reply('Veuillez entrer la question du sondage');
|
|
const filter = m => m.author.id === message.author.id;
|
|
const collector = message.channel.createMessageCollector({ filter, max: 1, time: 60000 });
|
|
collector.on('collect', async (m) => {
|
|
const question = m.content;
|
|
|
|
const pollEmbed = new EmbedBuilder()
|
|
.setTitle(question)
|
|
|
|
message.reply('Combien de réponses voulez-vous ajouter ?');
|
|
const collector2 = message.channel.createMessageCollector({ filter, max: 1, time: 60000 });
|
|
collector2.on('collect', async (m) => {
|
|
const responseCount = parseInt(m.content);
|
|
if (isNaN(responseCount)) return message.reply('Veuillez entrer un nombre valide.');
|
|
if (responseCount < 2) return message.reply('Veuillez entrer un nombre supérieur à 1.');
|
|
if (responseCount > 10) return message.reply('Veuillez entrer un nombre inférieur à 10.');
|
|
|
|
let repsonce;
|
|
for (let i = 0; i < responseCount; i++) {
|
|
message.reply(`Veuillez entrer la réponse ${i + 1}`);
|
|
const collector3 = message.channel.createMessageCollector({ filter, max: 1, time: 60000 });
|
|
collector3.on('collect', async (m) => {
|
|
repsonce = repsonce ? `${repsonce}\n${i + 1}\u20e3 : ${m.content}` : `${i + 1}\u20e3 : ${m.content}`;
|
|
|
|
if (i === responseCount - 1) {
|
|
pollEmbed.setDescription(repsonce);
|
|
const Embed = await message.channel.send({ embeds: [pollEmbed] });
|
|
for (let i = 0; i < responseCount; i++) {
|
|
await Embed.react(`${i + 1}\u20e3`);
|
|
}
|
|
}
|
|
});
|
|
|
|
await new Promise(resolve => {
|
|
collector3.on('end', () => resolve());
|
|
});
|
|
}
|
|
});
|
|
})
|
|
},
|
|
} |