diff options
author | bashonly <88596187+bashonly@users.noreply.github.com> | 2023-06-02 08:39:24 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-02 13:39:24 +0000 |
commit | 01231feb142e80828985aabdec04ac608e3d43e2 (patch) | |
tree | b7b2c8d153079c1349328f5d26a5bd233f909a3c | |
parent | f41b949a2ef646fbc36375febbe3f0c19d742c0f (diff) | |
download | hypervideo-pre-01231feb142e80828985aabdec04ac608e3d43e2.tar.lz hypervideo-pre-01231feb142e80828985aabdec04ac608e3d43e2.tar.xz hypervideo-pre-01231feb142e80828985aabdec04ac608e3d43e2.zip |
[extractor/twitch] Update `_CLIENT_ID` and add extractor-arg (#7200)
Closes #7058, Closes #7183
Authored by: bashonly
-rw-r--r-- | README.md | 3 | ||||
-rw-r--r-- | yt_dlp/extractor/twitch.py | 6 |
2 files changed, 8 insertions, 1 deletions
@@ -1846,6 +1846,9 @@ The following extractors use this feature: ### wrestleuniverse * `device_id`: UUID value assigned by the website and used to enforce device limits for paid livestream content. Can be found in browser local storage +#### twitchstream (Twitch) +* `client_id`: Client ID value to be sent with GraphQL requests, e.g. `twitchstream:client_id=kimne78kx3ncx6brgo4mv6wki5h1ko` + **Note**: These options may be changed/removed in the future without concern for backward compatibility <!-- MANPAGE: MOVE "INSTALLATION" SECTION HERE --> diff --git a/yt_dlp/extractor/twitch.py b/yt_dlp/extractor/twitch.py index 4a17d8048..31b349bc6 100644 --- a/yt_dlp/extractor/twitch.py +++ b/yt_dlp/extractor/twitch.py @@ -41,7 +41,6 @@ class TwitchBaseIE(InfoExtractor): _USHER_BASE = 'https://usher.ttvnw.net' _LOGIN_FORM_URL = 'https://www.twitch.tv/login' _LOGIN_POST_URL = 'https://passport.twitch.tv/login' - _CLIENT_ID = 'kimne78kx3ncx6brgo4mv6wki5h1ko' _NETRC_MACHINE = 'twitch' _OPERATION_HASHES = { @@ -58,6 +57,11 @@ class TwitchBaseIE(InfoExtractor): 'VideoPlayer_VODSeekbarPreviewVideo': '07e99e4d56c5a7c67117a154777b0baf85a5ffefa393b213f4bc712ccaf85dd6', } + @property + def _CLIENT_ID(self): + return self._configuration_arg( + 'client_id', ['ue6666qo983tsx6so1t0vnawi233wa'], ie_key=TwitchStreamIE, casesense=True)[0] + def _perform_login(self, username, password): def fail(message): raise ExtractorError( |