{"id":13758494,"url":"https://github.com/BasioMeusPuga/twitchy","last_synced_at":"2025-05-10T08:30:27.671Z","repository":{"id":54231108,"uuid":"42917938","full_name":"BasioMeusPuga/twitchy","owner":"BasioMeusPuga","description":"CLI streamlink wrapper for twitch.tv","archived":false,"fork":false,"pushed_at":"2021-03-02T06:05:56.000Z","size":333,"stargazers_count":91,"open_issues_count":5,"forks_count":14,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-11-16T15:37:40.568Z","etag":null,"topics":["cli","livestreamer","streamlink","twitch","twitch-api","twitch-tv"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BasioMeusPuga.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-09-22T07:18:59.000Z","updated_at":"2024-08-29T22:41:31.000Z","dependencies_parsed_at":"2022-08-13T09:40:52.399Z","dependency_job_id":null,"html_url":"https://github.com/BasioMeusPuga/twitchy","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BasioMeusPuga%2Ftwitchy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BasioMeusPuga%2Ftwitchy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BasioMeusPuga%2Ftwitchy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BasioMeusPuga%2Ftwitchy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BasioMeusPuga","download_url":"https://codeload.github.com/BasioMeusPuga/twitchy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253389409,"owners_count":21900756,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","livestreamer","streamlink","twitch","twitch-api","twitch-tv"],"created_at":"2024-08-03T13:00:31.246Z","updated_at":"2025-05-10T08:30:27.416Z","avatar_url":"https://github.com/BasioMeusPuga.png","language":"Python","funding_links":[],"categories":["Libraries","Python"],"sub_categories":["Python"],"readme":"# twitchy\nCLI streamlink wrapper for twitch.tv\n\n**Requires streamlink, python \u003e= 3.6, python-requests**\n\nThis 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.\n\nFeatures:\n* Tracking of most watched channels.\n* Custom layouts: User adjustable colors and columns\n* VOD support\n* Sync your followed accounts to a local sqlite database that does not judge you.\n* Stream multiple... streams at once.\n* Integration with your conky / dmenu / rofi\n* 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.\n\n## Installation\n1. Clone the repository\n2. In the root directory, type:\n\n        $ python setup.py build\n        # python setup.py install\n\n3. Launch with `twitchy`\n\nAlternatively, use the AUR package:\nhttps://aur.archlinux.org/packages/twitchy-git\n\nPlease delete `~/.config/twitchy3/*` and restart twitchy before reporting any issues.\n\n## Usage\n\n    $ twitchy [ARGUMENT] [OPTIONS]\n\n    [ARGUMENT] to the script is used as a search string for channels in the local database.\n\n    [OPTIONS]\n    -h, --help                      This helpful message\n    -a \u003cchannel name\u003e               Add channel(s)\n    -an [*searchstring*]            Set/unset alternate names\n    --configure                     Configure options\n    -d [*searchstring*]             Delete channel(s) from database\n    --non-interactive [go / kickstart]\n                                    Generate parsable data for integration elsewhere\n    --reset                         Delete everything and start over\n    -s \u003cusername\u003e                   Sync followed channels from specified account\n    -v \u003cchannel name\u003e               Watch channel's recorded videos\n    -w \u003cchannel name\u003e               Watch specified channel(s)\n\n    First run:\n    Will create both the database and an editable config file in ~/.config/twitchy3/\n\n    While playing:\n    \u003cq / Ctrl + C\u003e to quit\n\n    Run in non-interactive mode. This is useful for integration with dmenu / rofi / conky.\n    --non-interactive go            Get customizable comma separated list of channel / game data\n    --non-interactive kickstart \u003c\u003e  Start channel directly without asking for confirmation\n\n## Examples\n\nUsing no argument while launching the script will check the status of every channel in the local database:\n![alt tag](https://i.imgur.com/1Id6J7G.png)\n\nAdd channels to local database:\n\n    $ twitchy -a bobross \u003cchannel2\u003e \u003cchannel3\u003e ...\n    $ twitchy -s \u003cyour twitch username\u003e\n\nDisplay all strings matching *obr*:\n\n    $ twitchy obr\n    Checking channels...\n    Creative\n    1 bobross                   80085           The Joy of Painting Monday Season 7 Marathon #painting...\n    Sonic: Generations\n    2 mariobro                  123             #WhereMuhPrincessAt?\n    Wizard Poker\n    3 flatulentcobra            6969            Playing secret Paladin. Killing a puppy later.\n    Channel number(s): 1-h 2-s 3-l\n\n    Custom quality settings: Specify with hyphen next to channel number.\n    E.g. \u003c1-h 2-s 3-l\u003e will simultaneously play\n    channel 1 in high quality, 2 in source quality, and 3 in low quality.\n\nWatch specified channel(s) - Do not have to be in local database:\n\n    $ twitchy -w northernlion cobaltstreak\n    Checking channels...\n    The Binding of Isaac: Afterbirth\n    1 northernlion                5757          Egg\n    Channel number(s): 1\n\n## Plugins\n\nThanks to twitchy's `--non-interactive` flag, it is easy to integrate it\nwith various tools, like the ones below.\n\n### Albert\n\nSupports the excellent [Albert launcher](https://github.com/albertlauncher/albert)\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"500\" height=\"320\" src=\"https://i.imgur.com/JRp00ie.png\"\u003e\n\u003c/p\u003e\n\nMove `twitchy_albert.py` in the `plugins` directory to `/usr/share/albert/org.albert.extension.python/modules`\n\n### Py3status\n\nSupports the excellent [py3status](https://github.com/ultrabug/py3status)\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://user-images.githubusercontent.com/852504/53009602-84416280-3401-11e9-9f95-c2b2ce58f711.png\" /\u003e\n\u003c/p\u003e\n\nMove `twitchy_py3status.py` in the `plugins` directory to somewhere\nin your py3status module paths as `twitchy.py`.\n\n### Rofi\n\nSupports a custom [rofi](https://github.com/DaveDavenport/rofi) mode\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"500\" src=\"http://apetresc-screenshot.s3.amazonaws.com/2018-01-04-23.21.42.png\" /\u003e\n\u003c/p\u003e\n\nMove `rofi-twitchy` in the `plugins` directory to somewhere on your\n`PATH`, and invoke it with:\n\n```\n$ rofi -modi twitchy:rofi-twitchy -show twitchy\n```\n\nOf course, you probably want to bind this command to a keyboard shortcut\nin your window manager.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBasioMeusPuga%2Ftwitchy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FBasioMeusPuga%2Ftwitchy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBasioMeusPuga%2Ftwitchy/lists"}