diff options
Diffstat (limited to 'AudioBackend.js')
| -rw-r--r-- | AudioBackend.js | 131 |
1 files changed, 1 insertions, 130 deletions
diff --git a/AudioBackend.js b/AudioBackend.js index bf4210f..15fa45e 100644 --- a/AudioBackend.js +++ b/AudioBackend.js @@ -37,7 +37,7 @@ let fileData; let runOnce = false export let playerState; -let isAudioStatePaused; +export let isAudioStatePaused; export async function voiceInit(bot) { bot.channels.fetch(config.voiceChannel).then(async channel => { @@ -65,135 +65,6 @@ export async function voiceInit(bot) { }).catch(e => { console.error(e) }) } -export async function controlPanel(interaction, bot) { - let controlEmbed - let controlButtons - let controlButtons2 - - if (runOnce === true) return await interaction.reply({content:'You already executed this command', ephemeral:true}) - - controlEmbed = new MessageEmbed() - .setAuthor({name: `${bot.user.username} Control Panel`, iconURL: bot.user.avatarURL()}) - .addField('State', playerState) - .addField('Currently Playing', audio) - //.addField('Next Music', '(a possible feature when queue system is implemented?)') - .setColor('#0066ff') - - controlButtons = new MessageActionRow() - .addComponents( - new MessageButton() - .setStyle('SUCCESS') - .setLabel('Join') - .setCustomId('join') - .setEmoji('⬆️') - .setDisabled(true), - new MessageButton() - .setStyle('SECONDARY') - .setLabel('Play') - .setCustomId('play') - .setEmoji('▶️') - .setDisabled(true), - new MessageButton() - .setStyle('SECONDARY') - .setLabel('Pause') - .setCustomId('pause') - .setEmoji('⏸️'), - new MessageButton() - .setStyle('SECONDARY') - .setLabel('Skip') - .setCustomId('skip') - .setEmoji('⏭️'), - new MessageButton() - .setStyle('PRIMARY') - .setEmoji('⏩') - .setCustomId('next'), - ); - - controlButtons2 = new MessageActionRow() - .addComponents( - new MessageButton() - .setStyle('PRIMARY') - .setEmoji('⏪') - .setCustomId('back'), - new MessageButton() - .setStyle('DANGER') - .setLabel('Leave') - .setCustomId('leave') - .setEmoji('⏏️'), - new MessageButton() - .setStyle('DANGER') - .setLabel('Power Off') - .setCustomId('stop') - .setEmoji('🛑') - ) - - const filter = i => i.user.id === config.botOwner; - - const collector = interaction.channel.createMessageComponentCollector({filter}); - - collector.on('collect', async ctlButton => { - if (ctlButton.customId === 'join') { - controlButtons.components[0].setDisabled(true); - controlButtons.components[1].setDisabled(true); - controlButtons.components[2].setDisabled(false); - controlButtons.components[3].setDisabled(false); - controlButtons2.components[1].setDisabled(false); - await interaction.editReply({components:[controlButtons]}); - await voiceInit(bot); - return await ctlButton.reply({content:'Joining voice channel', ephemeral:true}); - } - if (ctlButton.customId === 'play') { - controlButtons.components[2].setDisabled(false); - controlButtons.components[1].setDisabled(true); - await interaction.editReply({components:[controlButtons]}); - audioState(); - player.unpause(); - return await ctlButton.reply({content:'Resuming music', ephemeral:true}); - } - if (ctlButton.customId === 'pause') { - controlButtons.components[2].setDisabled(true); - controlButtons.components[1].setDisabled(false); - await interaction.editReply({components:[controlButtons]}); - audioState(); - player.pause(); - return await ctlButton.reply({content:'Pausing music', ephemeral:true}); - } - if (ctlButton.customId === 'skip') { - player.stop(); - await searchAudio(bot, interaction); - return await ctlButton.reply({content:`Skipping ${audio}`, ephemeral:true}); - } - if (ctlButton.customId === 'next') { - return await interaction.editReply({ components: [controlButtons2] }).then(ctlButton.deferUpdate()); - } - if (ctlButton.customId === 'back') { - return await interaction.editReply({ components: [controlButtons] }).then(ctlButton.deferUpdate()); - } - if (ctlButton.customId === 'leave') { - console.log('Leaving voice channel...'); - controlButtons.components[0].setDisabled(false); - controlButtons.components[1].setDisabled(true); - controlButtons.components[2].setDisabled(true); - controlButtons.components[3].setDisabled(true); - controlButtons2.components[1].setDisabled(true); - await interaction.editReply({components:[controlButtons2]}); - await destroyAudio(interaction); - return await ctlButton.reply({content:'Leaving voice channel', ephemeral:true}); - } - if (ctlButton.customId === 'stop') { - await ctlButton.reply({content:`Powering off ${bot.user.username}...`, ephemeral:true}); - await interaction.deleteReply(); - await collector.stop(); - return await stopBot(bot, interaction); - } - }); - - collector.on('end', collected => console.log(`Collected ${collected.size} items`)); - - runOnce = true - return await interaction.reply({embeds:[controlEmbed], components:[controlButtons]}); -} - export async function searchAudio(bot){ //TODO: Eventually this system will need a rework so it won't repeat the same files. |
