From 0afb3db26938b12858ee3e8dcf15433a830d0cc9 Mon Sep 17 00:00:00 2001 From: Michaili K Date: Fri, 10 May 2024 20:19:11 +0200 Subject: [PATCH] Switch to lavalink's new YouTube audio source manager (#1552) * Switch to new lavalink's new YouTube audio source manager * Add back setPlaylistPageCount call for the youtube audio source manager * Manually add all the individual audio sources EXCEPT for old youtube * Remove unused import * Upgrade lavaplayer-youtube-source to 1.0.3 * Upgrade lavaplayer-youtube-source to 1.0.4 --- pom.xml | 7 ++- .../jmusicbot/audio/PlayerManager.java | 26 ++++++++++- .../jmusicbot/utils/LogBackTurboFilter.java | 44 ------------------- src/main/resources/logback.xml | 2 - 4 files changed, 30 insertions(+), 49 deletions(-) delete mode 100644 src/main/java/com/jagrosh/jmusicbot/utils/LogBackTurboFilter.java diff --git a/pom.xml b/pom.xml index 699eeb5c1..7e84b87fe 100644 --- a/pom.xml +++ b/pom.xml @@ -55,7 +55,12 @@ dev.arbjerg lavaplayer - 727959e9f621fc457b3a5adafcfffb55fdeaa538-SNAPSHOT + 2.1.1 + + + com.github.lavalink-devs + lavaplayer-youtube-source + 1.0.4 com.github.jagrosh diff --git a/src/main/java/com/jagrosh/jmusicbot/audio/PlayerManager.java b/src/main/java/com/jagrosh/jmusicbot/audio/PlayerManager.java index f4a5605ce..c732af54b 100644 --- a/src/main/java/com/jagrosh/jmusicbot/audio/PlayerManager.java +++ b/src/main/java/com/jagrosh/jmusicbot/audio/PlayerManager.java @@ -17,10 +17,19 @@ import com.dunctebot.sourcemanagers.DuncteBotSources; import com.jagrosh.jmusicbot.Bot; +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.YoutubeAudioSourceManager; +import com.sedmelluq.discord.lavaplayer.source.bandcamp.BandcampAudioSourceManager; +import com.sedmelluq.discord.lavaplayer.source.beam.BeamAudioSourceManager; +import com.sedmelluq.discord.lavaplayer.source.getyarn.GetyarnAudioSourceManager; +import com.sedmelluq.discord.lavaplayer.source.http.HttpAudioSourceManager; +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 dev.lavalink.youtube.YoutubeAudioSourceManager; import net.dv8tion.jda.api.entities.Guild; /** @@ -39,9 +48,22 @@ public PlayerManager(Bot bot) public void init() { TransformativeAudioSourceManager.createTransforms(bot.getConfig().getTransforms()).forEach(t -> registerSourceManager(t)); - AudioSourceManagers.registerRemoteSources(this); + + registerSourceManager(new YoutubeAudioSourceManager(true)); + + registerSourceManager(SoundCloudAudioSourceManager.createDefault()); + registerSourceManager(new BandcampAudioSourceManager()); + registerSourceManager(new VimeoAudioSourceManager()); + registerSourceManager(new TwitchStreamAudioSourceManager()); + registerSourceManager(new BeamAudioSourceManager()); + registerSourceManager(new GetyarnAudioSourceManager()); + registerSourceManager(new NicoAudioSourceManager()); + registerSourceManager(new HttpAudioSourceManager(MediaContainerRegistry.DEFAULT_REGISTRY)); + AudioSourceManagers.registerLocalSource(this); + DuncteBotSources.registerAll(this, "en-US"); + source(YoutubeAudioSourceManager.class).setPlaylistPageCount(10); } diff --git a/src/main/java/com/jagrosh/jmusicbot/utils/LogBackTurboFilter.java b/src/main/java/com/jagrosh/jmusicbot/utils/LogBackTurboFilter.java deleted file mode 100644 index c991a07ec..000000000 --- a/src/main/java/com/jagrosh/jmusicbot/utils/LogBackTurboFilter.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright 2024 John Grosh . - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.jagrosh.jmusicbot.utils; - -import ch.qos.logback.classic.Level; -import ch.qos.logback.classic.Logger; -import ch.qos.logback.classic.turbo.TurboFilter; -import ch.qos.logback.core.spi.FilterReply; -import org.slf4j.Marker; - -/** - * A TurboFilter, currently only used to suppress specific log messages from libraries. - * - * @author Michaili K. - */ -public class LogBackTurboFilter extends TurboFilter -{ - @Override - public FilterReply decide(Marker marker, Logger logger, Level level, String format, Object[] params, Throwable t) - { - // Suppresses the auth token warning from the YoutubeAudioSourceManager - // https://github.com/jagrosh/MusicBot/pull/1490#issuecomment-1974070225 - if (logger.getName().equals("com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAccessTokenTracker") - && format.equals("YouTube auth tokens can't be retrieved because email and password is not set in YoutubeAudioSourceManager, age restricted videos will throw exceptions.") - ) { - return FilterReply.DENY; - } - - return FilterReply.NEUTRAL; - } -} diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml index 1d03fcc22..4a7033f5d 100644 --- a/src/main/resources/logback.xml +++ b/src/main/resources/logback.xml @@ -14,6 +14,4 @@ - -