Skip to content

Commit d8908a9

Browse files
committed
Allow setting pot to all supporting clients with one method call
1 parent 285efdf commit d8908a9

File tree

2 files changed

+23
-2
lines changed

2 files changed

+23
-2
lines changed

common/src/main/java/dev/lavalink/youtube/YoutubeSource.java

+21
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,16 @@
11
package dev.lavalink.youtube;
22

3+
import dev.lavalink.youtube.clients.Web;
4+
import dev.lavalink.youtube.clients.WebEmbedded;
5+
import org.slf4j.Logger;
6+
import org.slf4j.LoggerFactory;
7+
38
import java.io.IOException;
49
import java.io.InputStream;
510

611
public class YoutubeSource {
12+
private static final Logger log = LoggerFactory.getLogger(YoutubeSource.class);
13+
714
public static String VERSION = "Unknown";
815

916
static {
@@ -22,4 +29,18 @@ public class YoutubeSource {
2229

2330
}
2431
}
32+
33+
/**
34+
* Sets the given PoToken and VisitorData pair on all POT-supporting clients.
35+
* This is a convenience method to allow for setting this from one method call.
36+
* @param poToken The poToken to use. This must be paired to the specified visitorData.
37+
* You may specify {@code null} to unset.
38+
* @param visitorData The visitorData to use. This must be paired to the specified poToken.
39+
* You may specify {@code null} to unset.
40+
*/
41+
public static void setPoTokenAndVisitorData(String poToken, String visitorData) {
42+
log.debug("Applying pot: {} vd: {} to WEB, WEBEMBEDDED", poToken, visitorData);
43+
Web.setPoTokenAndVisitorData(poToken, visitorData);
44+
WebEmbedded.setPoTokenAndVisitorData(poToken, visitorData);
45+
}
2546
}

plugin/src/main/java/dev/lavalink/youtube/plugin/YoutubePluginLoader.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import com.sedmelluq.lava.extensions.youtuberotator.tools.ip.Ipv6Block;
99
import dev.arbjerg.lavalink.api.AudioPlayerManagerConfiguration;
1010
import dev.lavalink.youtube.YoutubeAudioSourceManager;
11+
import dev.lavalink.youtube.YoutubeSource;
1112
import dev.lavalink.youtube.clients.ClientOptions;
1213
import dev.lavalink.youtube.clients.Web;
1314
import dev.lavalink.youtube.clients.WebEmbedded;
@@ -171,8 +172,7 @@ public AudioPlayerManager configure(AudioPlayerManager audioPlayerManager) {
171172

172173
if (token != null && visitorData != null) {
173174
log.debug("Applying poToken and visitorData to WEB & WEBEMBEDDED client (token: {}, vd: {})", token, visitorData);
174-
WebEmbedded.setPoTokenAndVisitorData(token, visitorData);
175-
Web.setPoTokenAndVisitorData(token, visitorData);
175+
YoutubeSource.setPoTokenAndVisitorData(token, visitorData);
176176
} else if (token != null || visitorData != null) {
177177
log.warn("Both pot.token and pot.visitorData must be specified and valid for pot to apply.");
178178
}

0 commit comments

Comments
 (0)