Skip to content

Commit d4ecf36

Browse files
committed
Also remove it on track stop
1 parent 12615a3 commit d4ecf36

File tree

2 files changed

+15
-9
lines changed

2 files changed

+15
-9
lines changed

src/main/kotlin/dev/arbjerg/lavalink/internal/LavalinkSocket.kt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,14 @@ class LavalinkSocket(private val node: LavalinkNode) : WebSocketListener(), Clos
7878
Message.Op.Event -> {
7979
event as Message.EmittedEvent
8080

81-
if (event is Message.EmittedEvent.TrackStartEvent) {
82-
node.playerCache[event.guildId.toLong()]?.track = event.track
81+
when (event) {
82+
is Message.EmittedEvent.TrackStartEvent -> {
83+
node.playerCache[event.guildId.toLong()]?.track = event.track
84+
}
85+
is Message.EmittedEvent.TrackEndEvent -> {
86+
node.playerCache[event.guildId.toLong()]?.track = null
87+
}
88+
else -> {}
8389
}
8490

8591
// TODO: handle websocket closed event from discord?

src/test/java/JavaJDAExample.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -178,13 +178,13 @@ public void onSlashCommandInteraction(@NotNull SlashCommandInteractionEvent even
178178
public void ontrackLoaded(@NotNull LoadResult.TrackLoaded result) {
179179
final Track track = result.getData();
180180

181-
link.createOrUpdatePlayer()
182-
.setEncodedTrack(track.getEncoded())
183-
.setVolume(35)
184-
.asMono()
185-
.subscribe((ignored) -> {
186-
event.getHook().sendMessage("Now playing: " + track.getInfo().getTitle()).queue();
187-
});
181+
link.getPlayer()
182+
.flatMap((p) -> p.setTrack(track)
183+
.setVolume(35)
184+
.asMono())
185+
.subscribe((ignored) -> {
186+
event.getHook().sendMessage("Now playing: " + track.getInfo().getTitle()).queue();
187+
});
188188
}
189189

190190
@Override

0 commit comments

Comments
 (0)