Skip to content

Commit 2a7e651

Browse files
committed
Check for presence of voice state params
1 parent e434ff7 commit 2a7e651

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package dev.arbjerg.lavalink.client.exception
2+
3+
class VoiceStateException(message: String) : RuntimeException(message) {
4+
}

src/main/kotlin/dev/arbjerg/lavalink/client/player/PlayerUpdateBuilder.kt

+5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package dev.arbjerg.lavalink.client.player
22

33
import dev.arbjerg.lavalink.client.LavalinkNode
4+
import dev.arbjerg.lavalink.client.exception.VoiceStateException
45
import dev.arbjerg.lavalink.internal.toKotlin
56
import dev.arbjerg.lavalink.internal.toLavalinkPlayer
67
import dev.arbjerg.lavalink.protocol.v4.*
@@ -77,6 +78,10 @@ class PlayerUpdateBuilder internal constructor(private val node: LavalinkNode, p
7778
}
7879

7980
override fun setVoiceState(state: VoiceState): PlayerUpdateBuilder {
81+
if (state.sessionId.isEmpty() || state.endpoint.isEmpty() || state.token.isEmpty()) {
82+
throw VoiceStateException("Voice state is missing sessionId, endpoint, or token: $state")
83+
}
84+
8085
this.state = state.toOmissible()
8186
return this
8287
}

0 commit comments

Comments
 (0)