{"id":13758530,"url":"https://github.com/rootmos/twitch-cli","last_synced_at":"2025-04-14T22:21:03.022Z","repository":{"id":38962208,"uuid":"271993435","full_name":"rootmos/twitch-cli","owner":"rootmos","description":"Twitch command line interface","archived":false,"fork":false,"pushed_at":"2024-06-17T23:32:44.000Z","size":99,"stargazers_count":10,"open_issues_count":7,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-28T10:21:19.599Z","etag":null,"topics":["twitch","twitch-api","twitch-irc"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rootmos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-13T11:11:58.000Z","updated_at":"2023-09-30T12:22:19.000Z","dependencies_parsed_at":"2024-08-03T13:11:40.291Z","dependency_job_id":null,"html_url":"https://github.com/rootmos/twitch-cli","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootmos%2Ftwitch-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootmos%2Ftwitch-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootmos%2Ftwitch-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootmos%2Ftwitch-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rootmos","download_url":"https://codeload.github.com/rootmos/twitch-cli/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248969055,"owners_count":21191183,"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":["twitch","twitch-api","twitch-irc"],"created_at":"2024-08-03T13:00:31.828Z","updated_at":"2025-04-14T22:21:02.976Z","avatar_url":"https://github.com/rootmos.png","language":"Python","funding_links":[],"categories":["Libraries"],"sub_categories":["Python"],"readme":"# [Twitch](https://twitch.tv) command line interface\n\n## Features\n* manage followed channels\n* list videos and active streams of channels\n* [dmenu](https://tools.suckless.org/dmenu/) integration to select channels,\n  videos or streams\n* manage stream metadata: title, category\n* lurk in chat or interact using per channel unix sockets:\n  - `twitch-cli chat rootmos2` in one terminal and\n    `socat readline unix:~/.twitch-cli/channel/rootmos2` in another\n    ([tmux](https://tmux.github.io/) sounds perfect for this, no?)\n* follow channels activity: follows and stream up/down events\n\n## Example\nThe menu option makes for a simple Twitch GUI when paired\nwith a media player that support Twitch URLs\n(I recommend [mpv](https://mpv.io/) and [youtube-dl](https://youtube-dl.org/)).\n```shell\ntwitch-cli list --menu | xargs mpv\n```\n\nFor a more sophisticated/klickety-klick GUI check out:\n[streamlink-twitch-gui](https://streamlink.github.io/streamlink-twitch-gui/),\nhowever it doesn't list videos (at the time of writing).\n\n## Usage\n```\nusage: twitch-cli [-h] [--log LOG] [--config-path CONFIG_PATH]\n                  [--token-path TOKEN_PATH]\n                  {activity,follow,unfollow,following,list,live,chat,stream,comments}\n                  ...\n\nTwitch command line interface\n\npositional arguments:\n  {activity,follow,unfollow,following,list,live,chat,stream,comments}\n                        sub-commands\n    activity            activity feed\n    follow              follow channel(s)\n    unfollow            unfollow user(s)\n    following           list followed users\n    list (live)         list live streams and videos (default)\n    chat                interact with chat\n    stream              manage stream\n    comments            download comments\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --log LOG             set log level\n  --config-path CONFIG_PATH\n                        configuration base path (default: ~/.twitch-cli)\n  --token-path TOKEN_PATH\n                        token path (default: CONFIG_PATH/tokens.json)\n```\n\n### list\n```\nusage: twitch-cli list [-h] [--following] [--exclude PATH]\n                       [--list [FILE [FILE ...]]] [--favorites] [--live]\n                       [--since SINCE] [--title-max-length TITLE_MAX_LENGTH]\n                       [--json] [--menu] [--menu-lines MENU_LINES]\n                       [CHANNEL [CHANNEL ...]]\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --live                list only live streams (synonym for --since=0)\n  --since SINCE         days to list videos\n  --title-max-length TITLE_MAX_LENGTH\n                        maximum length of printed titles\n  --json                output json\n  --menu                run dmenu\n  --menu-lines MENU_LINES\n                        number of maximum lines in the menu\n\nchannel specification:\n  CHANNEL               list streams and videos of CHANNEL (defaults to\n                        followed channels)\n  --following\n  --exclude PATH        exclude channel if it appears in the specified file\n                        (default: CONFIG_PATH/exclude)\n  --list [FILE [FILE ...]]\n                        include channels listed in FILE\n  --favorites           include channels listed in CONFIG_PATH/favorites\n```\n\n### chat\n```\nusage: twitch-cli chat [-h] [--following] [--exclude PATH]\n                       [--list [FILE [FILE ...]]] [--favorites]\n                       [--input-path PATH] [--read-only] [--join-parts]\n                       [CHANNEL [CHANNEL ...]]\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --input-path PATH     create chat input channel at PATH/CHANNEL (default:\n                        CONFIG_PATH/channel)\n  --read-only           lurker mode\n  --join-parts          display who joins and leaves the chat\n\nchannel specification:\n  CHANNEL               join CHANNEL's chat\n  --following\n  --exclude PATH        exclude channel if it appears in the specified file\n                        (default: CONFIG_PATH/exclude)\n  --list [FILE [FILE ...]]\n                        include channels listed in FILE\n  --favorites           include channels listed in CONFIG_PATH/favorites\n```\n\n### activity\n```\nusage: twitch-cli activity [-h] [--following] [--exclude PATH]\n                           [--list [FILE [FILE ...]]] [--favorites]\n                           [--event [EVENT [EVENT ...]]]\n                           [--notify-live [COMMAND]]\n                           [--notify-follow [COMMAND]]\n                           [CHANNEL [CHANNEL ...]]\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --event [EVENT [EVENT ...]]\n                        event types: live,follow\n  --notify-live [COMMAND]\n                        command to run when channel goes live (%c replaced\n                        with channel name, %t with the stream title)\n  --notify-follow [COMMAND]\n                        command to run when channel goes live (%c is replaced\n                        with channel name, %u with user name)\n\nchannel specification:\n  CHANNEL               follow activity feed of CHANNEL\n  --following\n  --exclude PATH        exclude channel if it appears in the specified file\n                        (default: CONFIG_PATH/exclude)\n  --list [FILE [FILE ...]]\n                        include channels listed in FILE\n  --favorites           include channels listed in CONFIG_PATH/favorites\n```\n\n### stream\n```\nusage: twitch-cli stream [-h]\n                         {title,set-title,edit-title,category,set-category,edit-category,status}\n                         ...\n\npositional arguments:\n  {title,set-title,edit-title,category,set-category,edit-category,status}\n                        management actions\n    title               print stream title\n    set-title           set stream title\n    edit-title          edit stream title using $EDITOR\n    category            print stream category\n    set-category        set stream category\n    edit-category       edit stream category using $EDITOR\n    status              print stream status\n\noptional arguments:\n  -h, --help            show this help message and exit\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frootmos%2Ftwitch-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frootmos%2Ftwitch-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frootmos%2Ftwitch-cli/lists"}