Skip to content

Commit

Permalink
fix: set YoutubeOauth2Handler#enabled to true if refresh token is pro…
Browse files Browse the repository at this point in the history
…vided
  • Loading branch information
Apehum committed Jul 20, 2024
1 parent 6bb7280 commit 5f2c0ab
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions src/main/kotlin/su/plo/voice/discs/PlasmoAudioPlayerManager.kt
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import su.plo.voice.lavaplayer.libs.com.sedmelluq.discord.lavaplayer.source.vime
import su.plo.voice.lavaplayer.libs.com.sedmelluq.discord.lavaplayer.tools.FriendlyException
import su.plo.voice.lavaplayer.libs.com.sedmelluq.discord.lavaplayer.track.*
import su.plo.voice.lavaplayer.libs.dev.lavalink.youtube.YoutubeAudioSourceManager
import su.plo.voice.lavaplayer.libs.dev.lavalink.youtube.http.YoutubeOauth2Handler
import su.plo.voice.proto.packets.tcp.clientbound.SourceAudioEndPacket
import su.plo.voice.proto.packets.udp.clientbound.SourceAudioPacket
import java.io.File
Expand Down Expand Up @@ -157,6 +158,19 @@ class PlasmoAudioPlayerManager(
?.readText()
?.trim()
source.useOauth2(refreshToken, false)

if (refreshToken != null) {
// todo: token validation is not implemented yet,
// so for now I just forcibly set enabled to true in YoutubeOauth2Handler

val oauth2HandlerField = YoutubeAudioSourceManager::class.java.getDeclaredField("oauth2Handler")
oauth2HandlerField.isAccessible = true
val oauth2Handler = oauth2HandlerField.get(source) as YoutubeOauth2Handler

val enabledField = YoutubeOauth2Handler::class.java.getDeclaredField("enabled")
enabledField.isAccessible = true
enabledField.set(oauth2Handler, true)
}
}
}
)
Expand Down

0 comments on commit 5f2c0ab

Please sign in to comment.