{"id":48788486,"url":"https://github.com/tmtek/twitchstreams","last_synced_at":"2026-04-13T18:29:40.873Z","repository":{"id":57166878,"uuid":"149759943","full_name":"tmtek/twitchstreams","owner":"tmtek","description":"A Twitch Client for Google Home built with convo. Features looking up live streams, specific streamers, updating your statuses, and more.","archived":false,"fork":false,"pushed_at":"2018-10-17T20:51:31.000Z","size":14,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-08T23:22:56.122Z","etag":null,"topics":["dialogflow","javascript","twitch","twitch-api"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/tmtek.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}},"created_at":"2018-09-21T12:25:05.000Z","updated_at":"2018-12-05T18:20:40.000Z","dependencies_parsed_at":"2022-08-30T13:20:11.216Z","dependency_job_id":null,"html_url":"https://github.com/tmtek/twitchstreams","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/tmtek/twitchstreams","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmtek%2Ftwitchstreams","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmtek%2Ftwitchstreams/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmtek%2Ftwitchstreams/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmtek%2Ftwitchstreams/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tmtek","download_url":"https://codeload.github.com/tmtek/twitchstreams/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmtek%2Ftwitchstreams/sbom","scorecard":{"id":890227,"data":{"date":"2025-08-11","repo":{"name":"github.com/tmtek/twitchstreams","commit":"ee4c1cbb12c0560040e320018d6519207e11b6a5"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.5,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Code-Review","score":0,"reason":"Found 0/4 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":0,"reason":"license file not detected","details":["Warn: project does not have a license file"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":9,"reason":"1 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-r683-j2x4-v87g"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-24T11:31:44.624Z","repository_id":57166878,"created_at":"2025-08-24T11:31:44.624Z","updated_at":"2025-08-24T11:31:44.624Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31766103,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T15:25:13.801Z","status":"ssl_error","status_checked_at":"2026-04-13T15:25:09.162Z","response_time":93,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["dialogflow","javascript","twitch","twitch-api"],"created_at":"2026-04-13T18:29:40.125Z","updated_at":"2026-04-13T18:29:40.865Z","avatar_url":"https://github.com/tmtek.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Twitch Streams\n\nTwitch Streams is a Twitch client built using DialogFlow, and runs on the following platforms:\n\n* Google Assistant (Home, Phones)\n\n\n## Activating Twitch Streams\n\nTwitch Streams can be activated by speaking the following to your Google Assistant:\n\n\u003e \"Ok Google, talk to Twitch Streams\"\n\nThis will cause the assistant to load Twitch Streams and until your conversation is complete, you will be speaking directly to it, and not Google.\n\nIf you are not signed in, Twitch Streams will welcome you, and explain the basic commands you can ask of it. If you are signed in, Twitch Streams will automatically tell you who the top 5 streamers that are live that you follow are.\n\n### Asking Twitch Streams questions directly\n\nAny command that Twitch Streams offers can be invoked directly like so:\n\n\u003e \"Ok Google, ask Twitch streams who's streaming.\"\n\u003e\n\u003e \"Ok Google, ask Twitch Streams about King Gothalion\"\n\n\n\n## Sign In\n\nLinking your Twitch account to Twitch Streams allows you to access your own personalized content on Twitch. The app will work without signing in, but you will not  have access to personalized features.\n\n\u003e \"(Sign in / Log in)\"\n\nThis command will start the sign in process for you if you have not yet signed in. If you have, the app will let you know, and not take any action.\n\nIn order for this command to work, you must have a phone associated with your Google account. The command will prompt you to go to your phone, and answer a notification that you will receive, and complete the login process that it walks you through. After this process if complete, all of the Twitch Streams features will be available to you.\n\n\u003e \"Am I signed in?\"\n\n\u003e \"My Account\"\n\nThis command will tell you if you are currently signed in. If so it will tell you the name of your Twitch account and other related information.\n\n## Live Streams\n\nThe primary function of the Twitch Streams app is to tell you what streamers are streaming live on Twitch , and then point you to them for viewing.\n\n\n\u003e \"Who's (streaming / live / online)?\"\n\nThis command behaves diferently depending on if you are signed in or not:\n\nIf not, the app will respond with a list of the top streams (in terms of current viewers) on Twitch right now.\n\nIf you are signed in, then the app will respond with a list of streams you follow that are live right now.\n\n\u003e \"Who's (streaming /playing) {game}?\"\n\nThis command does the same thing as the on above, but limits the results to the named game. If you are not signed in, then the resulting list is the top streams for that specific game. If you are logged in, then it will be a list of all streams you follow playing that game.\n\n### sub-commands:\n\n\u003e \"Select {channel name}\"\n\n\u003e \"Pick the first one\"\n\n\u003e \"Read them all\"\n\n## Specific Streamers/Channels\n\nTwitch Streams can give you detailed information on specific streamers you're interested in. Simply ask the following:\n\n\u003e \"Tell me about {channel name}\"\n\nThis will lookup the channel by name using Twitch search, and return the top result.\n\nIf the channel is live, you will be told about the status of the stream, what directory it is in, and how many people are watching. If the channel is not live, you will be given details about the channel itself.\n\n### sub-commands\n\n\u003e \"Play it\"\n\n\u003e \"Next\"\n\n\u003e \"Refer to channel as {spoken name}\"\n\n## Top Games\n\nYou can ask Twitch Streams what the top games on Twitch are right now:\n\n\u003e \"What are the top games?\"\n\n\u003e \"What are the top 5 games?\"\n\nTwitch Streams will read you the list of games and tell you how many channels and how many viewers are currently\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftmtek%2Ftwitchstreams","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftmtek%2Ftwitchstreams","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftmtek%2Ftwitchstreams/lists"}