fix: Bot now leaves the channel, when the last song in the queue is finished playing
Signed-off-by: limited_dev <loginakkisativ@gmail.com>
This commit is contained in:
parent
f1454af395
commit
ef130a1510
3 changed files with 9 additions and 5 deletions
|
@ -100,7 +100,7 @@ class SkipButton : Button("btn.music.skip") {
|
||||||
val gts = MusicManager.getGuildTrackScheduler(guild.asGuild(), player)
|
val gts = MusicManager.getGuildTrackScheduler(guild.asGuild(), player)
|
||||||
if (!gts.isEmpty()) {
|
if (!gts.isEmpty()) {
|
||||||
track = gts.getHead().toTrack()
|
track = gts.getHead().toTrack()
|
||||||
gts.playNext()
|
gts.playNext(link)
|
||||||
response.respond {
|
response.respond {
|
||||||
this.embeds = mutableListOf(
|
this.embeds = mutableListOf(
|
||||||
MessageUtil.getEmbedWithImage(
|
MessageUtil.getEmbedWithImage(
|
||||||
|
|
|
@ -85,7 +85,7 @@ class SkipExtension : Extension() {
|
||||||
val gts = MusicManager.getGuildTrackScheduler(this.guild!!.asGuild(), player)
|
val gts = MusicManager.getGuildTrackScheduler(this.guild!!.asGuild(), player)
|
||||||
if (!gts.isEmpty()) {
|
if (!gts.isEmpty()) {
|
||||||
track = gts.getHead().toTrack()
|
track = gts.getHead().toTrack()
|
||||||
gts.playNext()
|
gts.playNext(link)
|
||||||
} else {
|
} else {
|
||||||
player.stopTrack()
|
player.stopTrack()
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
|
|
||||||
package de.limited_dev.botendo.extensions.music.components
|
package de.limited_dev.botendo.extensions.music.components
|
||||||
|
|
||||||
|
import de.limited_dev.botendo.Bot
|
||||||
import de.limited_dev.botendo.util.Logger
|
import de.limited_dev.botendo.util.Logger
|
||||||
import dev.schlaubi.lavakord.audio.*
|
import dev.schlaubi.lavakord.audio.*
|
||||||
import dev.schlaubi.lavakord.audio.player.Player
|
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())
|
if (!queue.isEmpty())
|
||||||
this.pl.playTrack(queue.poll())
|
this.pl.playTrack(queue.poll())
|
||||||
else
|
else {
|
||||||
this.pl.stopTrack()
|
this.pl.stopTrack()
|
||||||
|
link.destroy()
|
||||||
|
clear()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private suspend fun play(tr: PartialTrack) {
|
private suspend fun play(tr: PartialTrack) {
|
||||||
|
@ -80,7 +84,7 @@ class GuildTrackScheduler(val pl: Player) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
Logger.out("Track has ended; Playing next...")
|
Logger.out("Track has ended; Playing next...")
|
||||||
playNext()
|
playNext(Bot.lava.getLink(e.guildId))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue