From 9038849e18337b87fc235f80f7ac196a7194ccd5 Mon Sep 17 00:00:00 2001 From: Pinapelz Date: Tue, 12 Dec 2023 20:00:01 -0800 Subject: Add support for queueing full YouTube playlist via /play Signed-off-by: Pinapelz --- src/main/java/utility/URLChecker.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/main/java/utility/URLChecker.java') diff --git a/src/main/java/utility/URLChecker.java b/src/main/java/utility/URLChecker.java index ffea53b..499cca9 100644 --- a/src/main/java/utility/URLChecker.java +++ b/src/main/java/utility/URLChecker.java @@ -5,9 +5,14 @@ public class URLChecker { return term.matches("^(http|https)://.*"); } public String getURLType(String url) { - if (url.matches("^((?:https?:)?\\/\\/)?((?:www|m)\\.)?((?:youtube(-nocookie)?\\.com|youtu.be))(\\/(?:[\\w\\-]+\\?v=|embed\\/|v\\/)?)([\\w\\-]+)(\\S+)?$")) { + if(url.matches("^((?:https?:)?\\/\\/)?((?:www|m)\\.)?youtube\\.com\\/playlist\\?list=([\\w\\-]+)$")){ + System.out.println("yt-playlist"); + return "yt-playlist"; + } + else if (url.matches("^((?:https?:)?\\/\\/)?((?:www|m)\\.)?((?:youtube(-nocookie)?\\.com|youtu.be))(\\/(?:[\\w\\-]+\\?v=|embed\\/|v\\/)?)([\\w\\-]+)(\\S+)?$")) { return "yt"; //Youtube - } else if (url.matches("^(https?:\\/\\/)?(www.)?(m\\.)?soundcloud\\.com\\/[\\w\\-\\.]+(\\/)+[\\w\\-\\.]+/?$")) { + } + else if (url.matches("^(https?:\\/\\/)?(www.)?(m\\.)?soundcloud\\.com\\/[\\w\\-\\.]+(\\/)+[\\w\\-\\.]+/?$")) { return "snd"; } else if (url.matches("^(?:https?:\\/\\/)?(?:www\\.|go\\.)?twitch\\.tv\\/([a-z0-9_]+)($|\\?)")) { return "twitch"; @@ -28,4 +33,7 @@ public class URLChecker { return uriParts[0].replaceAll("https://open.spotify.com/playlist/",""); } + public String getYouTubePlaylistID(String url){ + return url.split("list=")[1]; + } } -- cgit v1.2.3