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