Gets matching timestamps for multiple streamers from a single twitch clip or timestamp.
Project description
TwitchSync
Syncs twitch clips with other streamers.
Input a twitch clip url, slug, or vod timestamp with a list of streamers, and the program will output a list of timestamped urls for the same moment in each streamer's vod.
$ python -m twitchsync https://www.twitch.tv/thebigmeech/clip/AgreeableNurturingFishPanicVis-g_-jghN2s5rElLpo sgtapollo lisajfc thebigmeech
sgtapollo: https://www.twitch.tv/videos/2448466929?t=2h20m44s
lisajfc: https://www.twitch.tv/videos/2448318187?t=6h0m38s
thebigmeech: https://www.twitch.tv/videos/2448294467?t=6h42m42s
Supported input formats:
- Clip URL:
https://www.twitch.tv/thebigmeech/clip/AgreeableNurturingFishPanicVis-g_-jghN2s5rElLpo - Clip slug:
AgreeableNurturingFishPanicVis-g_-jghN2s5rElLpo - Timestamped vod URL:
https://www.twitch.tv/videos/2448294467?t=6h42m42s
Installation
pip install twitchsync
For Mac & Linux there is an easy install script that will install the command to a private venv and symlink it onto your path for easy use. Requires python to be installed.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/SuperRonJon/TwitchSync/master/install-twitchsync-linux.sh)"
Requirements
Requires Python 3.9+
Requires a twitch developer application client id & secret pair.
To get one log into the twitch developer console with your twitch account https://dev.twitch.tv/console Then regester a new application, with category Application Integration and Confidential client type. Redirect url is not relevant, you can fill it out to your website, or this github page, etc.
Then once it is created click Manage -> New Secret and generate a new secret. Save this secret and the Client ID in a text file somewhere you will find them.
The program will ask for these 2 tokens on the first run.
Now the program can be run with:
python -m twitchsync clip_url/slug/vod_timestamp_url streamer1 streamer2 streamer3
On the first run, the program will ask for your twitch application client credentials if it cannot find them. You can enter them here or by passing them as optional arguments on the first run like below.
python -m twitchsync --client_id <token> --client_secret <token>
Once you have set your tokens once the program will store them in a configuration file and you will not need to enter them again.
You can also set up your configuration by setting up environment variables, explained in the following section.
Setting environment variables
This section is optional to have credentials be auto-detected on first run rather than manually enter them in the CLI.
(On Windows: Search->"Edit Environment Variables For Your Account"->New...)
(On Mac/Linux run export TWITCHSYNC_ID=your client id && export TWITCHSYNC_SECRET=your client secret)
TWITCHSYNC_ID=your client id
TWITCHSYNC_SECRET=your client secret
The environment variables do not need to be persistent, the credentials will be saved automatically and managed as necessary from now on.
Now it can be run like this python -m twitchsync clip_url/slug/vod_timestamp streamer1 streamer2 streamer3
Importing as python module
Twitchsync can also be imported as a python module to be used in custom code. An example using credentials from the default config file, same as the instructions above:
from twitchsync import TwitchSync
client = TwitchSync()
clip_url = "https://www.twitch.tv/clip/or/vod/timestamp"
streamer_list = ["streamer1", "streamer2", "streamer3"]
matches = client.get_matches_for_all_streamers(streamer_list, clip_url)
for match in matches:
print(f"{match["streamer"]}: {match["result"]}")
single_match = client.get_match_for_streamer("streamer1", clip_url)
print(f"{single_match["streamer"]: single_match["result"]}")
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file twitchsync-2.1.4.tar.gz.
File metadata
- Download URL: twitchsync-2.1.4.tar.gz
- Upload date:
- Size: 10.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc4313316bd2e4651b401cb050fae0d2d45b72ee9df3e0dfcdd743c17032a858
|
|
| MD5 |
9d9ffd5f8c2d2990b1c9971bf0918ebb
|
|
| BLAKE2b-256 |
52d2bcb46a441cfa15d3015413dcf57cd3c0683a7540ac3617b1a715f61be707
|
File details
Details for the file twitchsync-2.1.4-py3-none-any.whl.
File metadata
- Download URL: twitchsync-2.1.4-py3-none-any.whl
- Upload date:
- Size: 10.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d40c36d5307db549c8ca44a0d167394f28d80a66ff19799a764db1e8aff234b
|
|
| MD5 |
c8ddf4ae5d066ee1d79ceb1d869d50f8
|
|
| BLAKE2b-256 |
3c66bb4e29dbf8d3d06718729a564af49125d75f9c9978384041009c2a4ba16b
|