From 4c26fbcb7e1674d5ccbb5468a32cd4a2bc2a315b Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Sat, 9 Jul 2022 18:14:04 -0400 Subject: Fixed reshuffle and shuffle; Player has error event --- AudioBackend.js | 25 +++++++++++++++---------- commands/reshuffle.js | 4 ++-- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/AudioBackend.js b/AudioBackend.js index 694b5d7..64f85b1 100644 --- a/AudioBackend.js +++ b/AudioBackend.js @@ -43,23 +43,28 @@ export let isAudioStatePaused; export async function voiceInit(bot) { bot.channels.fetch(config.voiceChannel).then(async channel => { const connection = joinVoiceChannel({ - channelId: channel.id, - guildId: channel.guild.id, - adapterCreator: channel.guild.voiceAdapterCreator + channelId: channel.id, + guildId: channel.guild.id, + adapterCreator: channel.guild.voiceAdapterCreator }); connection.on(VoiceConnectionStatus.Ready, async () => { - console.log('Ready to blast some beats!'); - await shufflePlaylist(bot); + console.log('Ready to blast some beats!'); + await shufflePlaylist(bot); }); connection.on(VoiceConnectionStatus.Destroyed, () => { - console.log('Destroyed the beats...'); + console.log('Destroyed the beats...'); + }); + + player.on('error', error => { + console.error(error); + nextAudio(bot); }); player.on('idle', () => { - console.log("Beat has finished playing, now to the next beat..."); - nextAudio(bot); + console.log("Beat has finished playing, now to the next beat..."); + nextAudio(bot); }) return connection.subscribe(player); @@ -87,9 +92,9 @@ export async function nextAudio(bot) { let totalTrack = files.length totalTrack-- - if (currentTrack > totalTrack) { + if (currentTrack >= totalTrack) { console.log('All beats in the playlist has finished, reshuffling...'); - await shufflePlaylist(); + await shufflePlaylist(bot); } else { currentTrack++ audio = audioArray[currentTrack]; diff --git a/commands/reshuffle.js b/commands/reshuffle.js index 5312d68..e311e19 100644 --- a/commands/reshuffle.js +++ b/commands/reshuffle.js @@ -28,10 +28,10 @@ export default { .setName('reshuffle') .setDescription('Reshuffles the playlist') .setDefaultMemberPermissions(PermissionFlagsBits.Administrator), - async execute(interaction) { + async execute(interaction, bot) { // Command not fully functional yet await interaction.reply({content:`Reshuffling the playlist...`, ephemeral:true}); player.stop(); - return await shufflePlaylist(); + return await shufflePlaylist(bot); }, }; \ No newline at end of file -- cgit v1.2.3