nyx

The first CODM discrod bot -- cath.exe Template
git clone https://codeberg.org/night0721/nyx
Log | Files | Refs | LICENSE

commit 70c7a1f6f44d26e834c347c666d0c9d64419a4f2
parent ce136dc3800b8f9150a6098eb2095cbb84fc2fd1
Author: mightyful <[email protected]>
Date:   Fri, 28 Jan 2022 20:36:42 +0100

added advanced poll command, adjust it to fit
Diffstat:
Acommand/Utilities/poll.js | 119+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 119 insertions(+), 0 deletions(-)

diff --git a/command/Utilities/poll.js b/command/Utilities/poll.js @@ -0,0 +1,119 @@ +const { Client, CommandInteraction, MessageEmbed } = require('discord.js'); + +module.exports = { + name: 'poll', + category: "SUB_COMMAND", + description: 'Creates a poll with many options', + options: [ + { + name: 'create', + description: 'Creates An Interactive Poll', + type: 'SUB_COMMAND', + options: [ + { + name: 'question', + description: 'The question of the poll', + type: 'STRING', + required: true, + }, + { + name: 'choice1', + description: 'Choice 1', + type: 'STRING', + required: true, + }, + { + name: 'choice2', + description: 'Choice 2', + type: 'STRING', + required: true, + }, + { + name: 'choice3', + description: 'Choice 3', + type: 'STRING', + required: false, + }, + { + name: 'choice4', + description: 'Choice 4', + type: 'STRING', + required: false, + }, + { + name: 'choice5', + description: 'Choice 5', + type: 'STRING', + required: false, + }, + { + name: 'choice6', + description: 'Choice 6', + type: 'STRING', + required: false, + }, + ], + }, + ], + /** + * @param {Client} client + * @param {CommandInteraction} interaction + * @param {String[]} args + */ + run: async(client, interaction, args) => { + if (interaction.options.getSubcommand() == 'create') { + const title = interaction.options.getString('question') + const c1 = interaction.options.getString('choice1'); + const c2 = interaction.options.getString('choice2'); + const c3 = interaction.options.getString('choice3'); + const c4 = interaction.options.getString('choice4'); + const c5 = interaction.options.getString('choice5'); + const c6 = interaction.options.getString('choice6'); + const pollCreateEmbed = new MessageEmbed() + .setTitle(`${title}`) + .setColor("RED") + .addFields( + { name: "⠀", value: `🇦 ${c1}`}, + { name: "⠀", value: `🇧 ${c2}`} + ) + .setFooter(`Poll By ${interaction.user.tag}`) + .setTimestamp(); + + + if (interaction.options.getString('choice3')) { + pollCreateEmbed.addFields({ name: "⠀", value: `🇨 ${c3}`}); + } + if (interaction.options.getString('choice4')) { + pollCreateEmbed.addFields({ name: "⠀", value: `🇩 ${c4}`}); + } + if (interaction.options.getString('choice5')) { + pollCreateEmbed.addFields({ name: "⠀", value: `🇪 ${c5}`}); + } + if (interaction.options.getString('choice6')) { + pollCreateEmbed.addFields({ name: "⠀", value: `🇫 ${c6}`}); + } + + embedMessage = await interaction.followUp({ + embeds: [pollCreateEmbed], + //fetchReply: true, + }); + embedMessage.react('🇦'); + embedMessage.react('🇧'); + + if (interaction.options.getString('choice3')) { + embedMessage.react('🇨'); + } + if (interaction.options.getString('choice4')) { + embedMessage.react('🇩'); + } + if (interaction.options.getString('choice5')) { + embedMessage.react('🇪'); + } + if (interaction.options.getString('choice6')) { + embedMessage.react('🇫'); + } + } else { + return; + } + }, +};