CLI streamlink wrapper for twitch.tv
Requires streamlink, python >= 3.6, python-requests
This script hopefully fulfills the needs of the discerning git cloner who wants to watch Twitch, and hates the CPU utilization of having a browser/flash running, especially since the current status of hardware accelerated video on Linux browsers is somewhere between non existent and abysmal.
- Tracking of most watched channels.
- Custom layouts: User adjustable colors and columns
- VOD support
- Sync your followed accounts to a local sqlite database that does not judge you.
- Stream multiple... streams at once.
- Integration with your conky / dmenu / rofi
- The ability to display alternate names for games / streamers. If your happiness is somehow contingent upon displaying "Hearthstone: Heroes of Warcraft" as "Wizard Poker", well, you've come to the right place.
Clone the repository
In the root directory, type:
$ python setup.py build # python setup.py install
Alternatively, use the AUR package: https://aur.archlinux.org/packages/twitchy-git
~/.config/twitchy3/* and restart twitchy before reporting any issues.
$ twitchy [ARGUMENT] [OPTIONS] [ARGUMENT] to the script is used as a search string for channels in the local database. [OPTIONS] -h, --help This helpful message -a <channel name> Add channel(s) -an [*searchstring*] Set/unset alternate names --configure Configure options -d [*searchstring*] Delete channel(s) from database --non-interactive [go / kickstart] Generate parsable data for integration elsewhere --reset Delete everything and start over -s <username> Sync followed channels from specified account -v <channel name> Watch channel's recorded videos -w <channel name> Watch specified channel(s) First run: Will create both the database and an editable config file in ~/.config/twitchy3/ While playing: <q / Ctrl + C> to quit Run in non-interactive mode. This is useful for integration with dmenu / rofi / conky. --non-interactive go Get customizable comma separated list of channel / game data --non-interactive kickstart <> Start channel directly without asking for confirmation
Add channels to local database:
$ twitchy -a bobross <channel2> <channel3> ... $ twitchy -s <your twitch username>
Display all strings matching obr:
$ twitchy obr Checking channels... Creative 1 bobross 80085 The Joy of Painting Monday Season 7 Marathon #painting... Sonic: Generations 2 mariobro 123 #WhereMuhPrincessAt? Wizard Poker 3 flatulentcobra 6969 Playing secret Paladin. Killing a puppy later. Channel number(s): 1-h 2-s 3-l Custom quality settings: Specify with hyphen next to channel number. E.g. <1-h 2-s 3-l> will simultaneously play channel 1 in high quality, 2 in source quality, and 3 in low quality.
Watch specified channel(s) - Do not have to be in local database:
$ twitchy -w northernlion cobaltstreak Checking channels... The Binding of Isaac: Afterbirth 1 northernlion 5757 Egg Channel number(s): 1
Thanks to twitchy's
--non-interactive flag, it is easy to integrate it
with various tools, like the ones below.
Supports the excellent Albert launcher
twitchy_albert.py in the
plugins directory to
Supports a custom rofi mode
rofi-twitchy in the
plugins directory to somewhere on your
PATH, and invoke it with:
$ rofi -modi twitchy:rofi-twitchy -show twitchy
Of course, you probably want to bind this command to a keyboard shortcut in your window manager.