Package dev.lavalink.youtube.clients
Class Web
java.lang.Object
dev.lavalink.youtube.clients.skeleton.NonMusicClient
dev.lavalink.youtube.clients.skeleton.StreamingNonMusicClient
dev.lavalink.youtube.clients.Web
- All Implemented Interfaces:
Client
- Direct Known Subclasses:
MWeb,WebEmbedded
-
Nested Class Summary
Nested classes/interfaces inherited from interface dev.lavalink.youtube.clients.skeleton.Client
Client.PlayabilityStatus -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic ClientConfigprotected static Patternprotected longprotected ClientOptionsstatic StringFields inherited from class dev.lavalink.youtube.clients.skeleton.StreamingNonMusicClient
DEFAULT_SIGNATURE_KEYFields inherited from class dev.lavalink.youtube.clients.skeleton.NonMusicClient
MOBILE_PLAYER_PARAMS, playlistPageCount, WEB_PLAYER_PARAMSFields inherited from interface dev.lavalink.youtube.clients.skeleton.Client
API_BASE_URL, BROWSE_URL, MUSIC_API_BASE_URL, MUSIC_SEARCH_PARAMS, MUSIC_SEARCH_URL, NEXT_URL, OAUTH_CLIENT_ATTRIBUTE, PLAYER_URL, SEARCH_PARAMS, SEARCH_URL, WATCH_URL -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected @NotNull com.sedmelluq.discord.lavaplayer.tools.JsonBrowserextractMixPlaylistData(@NotNull com.sedmelluq.discord.lavaplayer.tools.JsonBrowser json) protected @Nullable StringextractPlaylistContinuationToken(@NotNull com.sedmelluq.discord.lavaplayer.tools.JsonBrowser videoList) protected @NotNull com.sedmelluq.discord.lavaplayer.tools.JsonBrowserextractPlaylistContinuationVideos(@NotNull com.sedmelluq.discord.lavaplayer.tools.JsonBrowser continuationJson) protected StringextractPlaylistName(@NotNull com.sedmelluq.discord.lavaplayer.tools.JsonBrowser json) protected @NotNull com.sedmelluq.discord.lavaplayer.tools.JsonBrowserextractPlaylistVideoList(@NotNull com.sedmelluq.discord.lavaplayer.tools.JsonBrowser json) protected @NotNull List<com.sedmelluq.discord.lavaplayer.track.AudioTrack>extractSearchResults(@NotNull YoutubeAudioSourceManager source, @NotNull com.sedmelluq.discord.lavaplayer.tools.JsonBrowser json) protected voidfetchClientConfig(@NotNull com.sedmelluq.discord.lavaplayer.tools.io.HttpInterface httpInterface) @NotNull ClientConfiggetBaseClientConfig(@NotNull com.sedmelluq.discord.lavaplayer.tools.io.HttpInterface httpInterface) Retrieves a base client config payload to be used for requests.@NotNull String@NotNull ClientOptions@NotNull Stringstatic voidsetPoTokenAndVisitorData(String poToken, String visitorData) @NotNull URItransformPlaybackUri(@NotNull URI originalUri, @NotNull URI resolvedPlaybackUri) Transforms a given playback URL as necessary.Methods inherited from class dev.lavalink.youtube.clients.skeleton.StreamingNonMusicClient
extractFormat, loadFormatsMethods inherited from class dev.lavalink.youtube.clients.skeleton.NonMusicClient
canHandleRequest, extractAudioTrack, extractPlaylistError, extractPlaylistTracks, loadJsonResponse, loadMix, loadMixResult, loadPlaylist, loadPlaylistResult, loadSearch, loadSearchMusic, loadSearchResults, loadTrackInfoFromInnertube, loadTrackInfoFromInnertube, loadVideo, setPlaylistPageCountMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface dev.lavalink.youtube.clients.skeleton.Client
buildAudioTrack, findSelectedTrack, getPlayabilityStatus, getUnplayableReason, isEmbedded, requirePlayerScript, supportsFormatLoading, supportsOAuth
-
Field Details
-
CONFIG_REGEX
-
BASE_CONFIG
-
poToken
-
lastConfigUpdate
protected volatile long lastConfigUpdate -
options
-
-
Constructor Details
-
Web
public Web() -
Web
-
-
Method Details
-
setPoTokenAndVisitorData
-
fetchClientConfig
protected void fetchClientConfig(@NotNull @NotNull com.sedmelluq.discord.lavaplayer.tools.io.HttpInterface httpInterface) -
getBaseClientConfig
@NotNull public @NotNull ClientConfig getBaseClientConfig(@NotNull @NotNull com.sedmelluq.discord.lavaplayer.tools.io.HttpInterface httpInterface) Description copied from class:NonMusicClientRetrieves a base client config payload to be used for requests.- Specified by:
getBaseClientConfigin classNonMusicClient- Parameters:
httpInterface- The HTTP interface to use for fetching a config, if applicable.- Returns:
- A client configuration.
-
transformPlaybackUri
@NotNull public @NotNull URI transformPlaybackUri(@NotNull @NotNull URI originalUri, @NotNull @NotNull URI resolvedPlaybackUri) Description copied from interface:ClientTransforms a given playback URL as necessary. For example, you can add query parameters or resolve any challenge parameters that might be needed.- Parameters:
originalUri- The original stream URI. This will be completely unmodified, and is provided as it has been received from YouTube.resolvedPlaybackUri- The playback URI. This will have already been transformed by the SignatureCipherManager.- Returns:
- The new playback URI.
-
extractSearchResults
@NotNull protected @NotNull List<com.sedmelluq.discord.lavaplayer.track.AudioTrack> extractSearchResults(@NotNull @NotNull YoutubeAudioSourceManager source, @NotNull @NotNull com.sedmelluq.discord.lavaplayer.tools.JsonBrowser json) - Overrides:
extractSearchResultsin classNonMusicClient
-
extractMixPlaylistData
@NotNull protected @NotNull com.sedmelluq.discord.lavaplayer.tools.JsonBrowser extractMixPlaylistData(@NotNull @NotNull com.sedmelluq.discord.lavaplayer.tools.JsonBrowser json) - Overrides:
extractMixPlaylistDatain classNonMusicClient
-
extractPlaylistName
protected String extractPlaylistName(@NotNull @NotNull com.sedmelluq.discord.lavaplayer.tools.JsonBrowser json) - Overrides:
extractPlaylistNamein classNonMusicClient
-
extractPlaylistVideoList
@NotNull protected @NotNull com.sedmelluq.discord.lavaplayer.tools.JsonBrowser extractPlaylistVideoList(@NotNull @NotNull com.sedmelluq.discord.lavaplayer.tools.JsonBrowser json) - Overrides:
extractPlaylistVideoListin classNonMusicClient
-
extractPlaylistContinuationToken
@Nullable protected @Nullable String extractPlaylistContinuationToken(@NotNull @NotNull com.sedmelluq.discord.lavaplayer.tools.JsonBrowser videoList) - Overrides:
extractPlaylistContinuationTokenin classNonMusicClient
-
extractPlaylistContinuationVideos
@NotNull protected @NotNull com.sedmelluq.discord.lavaplayer.tools.JsonBrowser extractPlaylistContinuationVideos(@NotNull @NotNull com.sedmelluq.discord.lavaplayer.tools.JsonBrowser continuationJson) - Overrides:
extractPlaylistContinuationVideosin classNonMusicClient
-
getPlayerParams
- Returns:
- The parameters to use for playback. May be
null, which will avoid populating the "params" field in payloads.
-
getOptions
-
getIdentifier
- Returns:
- The unique identifier for this client.
-