From f1d75718d9b9cb47e0cbb787050bc5d005b902e2 Mon Sep 17 00:00:00 2001 From: Sartharon <572591+Sartharon@users.noreply.github.com> Date: Sun, 4 Aug 2024 14:45:22 +0200 Subject: [PATCH] upgrade youtube-source --- pom.xml | 2 +- .../jmusicbot/audio/PlayerManager.java | 45 +++++++++---------- 2 files changed, 21 insertions(+), 26 deletions(-) diff --git a/pom.xml b/pom.xml index a80bce8..3830426 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.jagrosh JMusicBot - 0.3.9 + 0.4.3 jar diff --git a/src/main/java/com/jagrosh/jmusicbot/audio/PlayerManager.java b/src/main/java/com/jagrosh/jmusicbot/audio/PlayerManager.java index 089b7a1..7f92b9b 100644 --- a/src/main/java/com/jagrosh/jmusicbot/audio/PlayerManager.java +++ b/src/main/java/com/jagrosh/jmusicbot/audio/PlayerManager.java @@ -21,6 +21,7 @@ import com.sedmelluq.discord.lavaplayer.container.MediaContainerRegistry; import com.sedmelluq.discord.lavaplayer.player.AudioPlayer; import com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager; import com.sedmelluq.discord.lavaplayer.source.AudioSourceManagers; +import com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeHttpContextFilter; import com.sedmelluq.discord.lavaplayer.source.bandcamp.BandcampAudioSourceManager; import com.sedmelluq.discord.lavaplayer.source.beam.BeamAudioSourceManager; import com.sedmelluq.discord.lavaplayer.source.getyarn.GetyarnAudioSourceManager; @@ -29,12 +30,8 @@ import com.sedmelluq.discord.lavaplayer.source.nico.NicoAudioSourceManager; import com.sedmelluq.discord.lavaplayer.source.soundcloud.SoundCloudAudioSourceManager; import com.sedmelluq.discord.lavaplayer.source.twitch.TwitchStreamAudioSourceManager; import com.sedmelluq.discord.lavaplayer.source.vimeo.VimeoAudioSourceManager; -import com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioSourceManager; -import com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeHttpContextFilter; -import com.typesafe.config.Config; +import dev.lavalink.youtube.YoutubeAudioSourceManager; import net.dv8tion.jda.api.entities.Guild; -import com.sedmelluq.discord.lavaplayer.tools.http.ExtendedHttpConfigurable; -import com.sedmelluq.discord.lavaplayer.tools.io.HttpClientTools; import com.sedmelluq.discord.lavaplayer.tools.io.HttpInterfaceManager; import com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAccessTokenTracker; @@ -57,6 +54,23 @@ public class PlayerManager extends DefaultAudioPlayerManager YoutubeAudioSourceManager yt = new YoutubeAudioSourceManager(true); yt.setPlaylistPageCount(bot.getConfig().getMaxYTPlaylistPages()); + if (bot.getConfig().getYoutubeEmail() != null && bot.getConfig().getYoutubePwd() != null) + { + YoutubeHttpContextFilter youtubeHttpContextFilter = new YoutubeHttpContextFilter(); + HttpInterfaceManager httpInterfaceManager = yt.getHttpInterfaceManager(); + YoutubeAccessTokenTracker accessTokenTracker = new YoutubeAccessTokenTracker(httpInterfaceManager, bot.getConfig().getYoutubeEmail(), bot.getConfig().getYoutubePwd()); + while (accessTokenTracker.getMasterToken() == null) { + //Busy waiting for the master token + } + while (accessTokenTracker.getAccessToken() == null) { + //Busy waiting for the access token + } + while (accessTokenTracker.getVisitorId() == null) { + //Busy waiting for the visitor token + } + youtubeHttpContextFilter.setTokenTracker(accessTokenTracker); + httpInterfaceManager.setHttpContextFilter(youtubeHttpContextFilter); + } registerSourceManager(yt); registerSourceManager(SoundCloudAudioSourceManager.createDefault()); @@ -71,25 +85,6 @@ public class PlayerManager extends DefaultAudioPlayerManager AudioSourceManagers.registerLocalSource(this); DuncteBotSources.registerAll(this, "en-US"); - source(YoutubeAudioSourceManager.class).setPlaylistPageCount(10); - if (bot.getConfig().getYoutubeEmail() != null && bot.getConfig().getYoutubePwd() != null) - { - HttpInterfaceManager httpInterfaceManager = HttpClientTools.createDefaultThreadLocalManager(); - ExtendedHttpConfigurable httpConfiguration = source(YoutubeAudioSourceManager.class).getHttpConfiguration(); - YoutubeHttpContextFilter youtubeHttpContextFilter = new YoutubeHttpContextFilter(); - YoutubeAccessTokenTracker accessTokenTracker = new YoutubeAccessTokenTracker(httpInterfaceManager, bot.getConfig().getYoutubeEmail(), bot.getConfig().getYoutubePwd()); - while (accessTokenTracker.getMasterToken() == null) { - //Busy waiting for the master token - } - while (accessTokenTracker.getAccessToken() == null) { - //Busy waiting for the access token - } - while (accessTokenTracker.getVisitorId() == null) { - //Busy waiting for the visitor token - } - youtubeHttpContextFilter.setTokenTracker(accessTokenTracker); - httpConfiguration.setHttpContextFilter(youtubeHttpContextFilter); - } } public Bot getBot() @@ -117,4 +112,4 @@ public class PlayerManager extends DefaultAudioPlayerManager handler = (AudioHandler) guild.getAudioManager().getSendingHandler(); return handler; } -} +} \ No newline at end of file