From 0f5a1a252964861e149a0d784a90f0ad74aa09cb Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Mon, 28 Mar 2022 17:42:57 -0400 Subject: Merged the join command --- commands/control.js | 40 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 37 insertions(+), 3 deletions(-) (limited to 'commands/control.js') diff --git a/commands/control.js b/commands/control.js index 50a78e7..4c8c7a6 100644 --- a/commands/control.js +++ b/commands/control.js @@ -21,7 +21,7 @@ import { SlashCommandBuilder } from '@discordjs/builders' import { MessageEmbed, MessageActionRow, MessageButton } from 'discord.js' -import { audio, player, playAudio, destroyAudio } from '../AudioBackend.js' +import {audio, player, playAudio, destroyAudio, voiceInit} from '../AudioBackend.js' export default { data: new SlashCommandBuilder() @@ -37,6 +37,10 @@ export default { const controlButtons = new MessageActionRow() .addComponents( + new MessageButton() + .setStyle('SUCCESS') + .setLabel('Join') + .setCustomId('join'), new MessageButton() .setStyle('SUCCESS') .setLabel('Play') @@ -49,15 +53,31 @@ export default { .setStyle('SECONDARY') .setLabel('Skip') .setCustomId('skip'), + new MessageButton() + .setStyle('SECONDARY') + .setLabel('More') + .setCustomId('soon'), + ); + + const controlButtons2 = new MessageActionRow() + .addComponents( new MessageButton() .setStyle('DANGER') .setLabel('Leave') - .setCustomId('leave') - ); + .setCustomId('leave'), + new MessageButton() + .setStyle('DANGER') + .setLabel('Power Off') + .setCustomId('stop') + ) const collector = interaction.channel.createMessageComponentCollector(); collector.on('collect', async ctlButton => { + if (ctlButton.customId === 'join') { + await ctlButton.reply({content:'Joining voice channel', ephemeral:true}) + voiceInit(bot); + } if (ctlButton.customId === 'play') { player.unpause(); await ctlButton.reply({content:'Resuming music', ephemeral:true}) @@ -76,6 +96,20 @@ export default { console.log('Leaving voice channel...'); destroyAudio(interaction); } + if (ctlButton.customId === 'stop') { + await ctlButton.reply({content:'Powering off...', ephemeral:true}) + const statusEmbed = new MessageEmbed() + .setAuthor({name:bot.user.username, iconURL:bot.user.avatarURL()}) + .setDescription(`That\'s all folks! Powering down ${bot.user.username}...`) + .setColor('#0066ff') + let statusChannel = bot.channels.cache.get(config.statusChannel); + if (!statusChannel) return console.error('The status channel does not exist! Skipping.'); + await statusChannel.send({ embeds: [statusEmbed] }); + console.log('Powering off...'); + destroyAudio(interaction); + bot.destroy(); + process.exit(0); + } }); return interaction.reply({embeds:[controlEmbed], components:[controlButtons]}); -- cgit v1.2.3