diff --git a/src/main/kotlin/de/limited_dev/botendo/buttons/music/SkipButton.kt b/src/main/kotlin/de/limited_dev/botendo/buttons/music/SkipButton.kt index b1793b9..547fc05 100644 --- a/src/main/kotlin/de/limited_dev/botendo/buttons/music/SkipButton.kt +++ b/src/main/kotlin/de/limited_dev/botendo/buttons/music/SkipButton.kt @@ -100,7 +100,7 @@ class SkipButton : Button("btn.music.skip") { val gts = MusicManager.getGuildTrackScheduler(guild.asGuild(), player) if (!gts.isEmpty()) { track = gts.getHead().toTrack() - gts.playNext() + gts.playNext(link) response.respond { this.embeds = mutableListOf( MessageUtil.getEmbedWithImage( diff --git a/src/main/kotlin/de/limited_dev/botendo/extensions/music/SkipExtension.kt b/src/main/kotlin/de/limited_dev/botendo/extensions/music/SkipExtension.kt index 9f9c2ee..8ceb23b 100644 --- a/src/main/kotlin/de/limited_dev/botendo/extensions/music/SkipExtension.kt +++ b/src/main/kotlin/de/limited_dev/botendo/extensions/music/SkipExtension.kt @@ -85,7 +85,7 @@ class SkipExtension : Extension() { val gts = MusicManager.getGuildTrackScheduler(this.guild!!.asGuild(), player) if (!gts.isEmpty()) { track = gts.getHead().toTrack() - gts.playNext() + gts.playNext(link) } else { player.stopTrack() } diff --git a/src/main/kotlin/de/limited_dev/botendo/extensions/music/components/GuildTrackScheduler.kt b/src/main/kotlin/de/limited_dev/botendo/extensions/music/components/GuildTrackScheduler.kt index bf8733c..992fee8 100644 --- a/src/main/kotlin/de/limited_dev/botendo/extensions/music/components/GuildTrackScheduler.kt +++ b/src/main/kotlin/de/limited_dev/botendo/extensions/music/components/GuildTrackScheduler.kt @@ -19,6 +19,7 @@ package de.limited_dev.botendo.extensions.music.components +import de.limited_dev.botendo.Bot import de.limited_dev.botendo.util.Logger import dev.schlaubi.lavakord.audio.* import dev.schlaubi.lavakord.audio.player.Player @@ -41,11 +42,14 @@ class GuildTrackScheduler(val pl: Player) { } } - suspend fun playNext() { + suspend fun playNext(link: Link) { if (!queue.isEmpty()) this.pl.playTrack(queue.poll()) - else + else { this.pl.stopTrack() + link.destroy() + clear() + } } private suspend fun play(tr: PartialTrack) { @@ -80,7 +84,7 @@ class GuildTrackScheduler(val pl: Player) { return } Logger.out("Track has ended; Playing next...") - playNext() + playNext(Bot.lava.getLink(e.guildId)) } }