{"id":20976313,"url":"https://github.com/paradoxinversion/twitch-obs-simple","last_synced_at":"2025-06-28T08:32:34.828Z","repository":{"id":77369075,"uuid":"349531579","full_name":"paradoxinversion/twitch-obs-simple","owner":"paradoxinversion","description":null,"archived":false,"fork":false,"pushed_at":"2021-03-19T19:20:47.000Z","size":18,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-03T22:05:53.695Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/paradoxinversion.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":"2021-03-19T19:16:53.000Z","updated_at":"2021-03-19T19:20:49.000Z","dependencies_parsed_at":"2023-03-12T00:43:02.849Z","dependency_job_id":null,"html_url":"https://github.com/paradoxinversion/twitch-obs-simple","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/paradoxinversion/twitch-obs-simple","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paradoxinversion%2Ftwitch-obs-simple","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paradoxinversion%2Ftwitch-obs-simple/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paradoxinversion%2Ftwitch-obs-simple/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paradoxinversion%2Ftwitch-obs-simple/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paradoxinversion","download_url":"https://codeload.github.com/paradoxinversion/twitch-obs-simple/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paradoxinversion%2Ftwitch-obs-simple/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262400852,"owners_count":23305384,"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":[],"created_at":"2024-11-19T04:52:41.548Z","updated_at":"2025-06-28T08:32:34.810Z","avatar_url":"https://github.com/paradoxinversion.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Twitch + OBS\r\n\r\nThis app is a small example of integrating Twitch chat and OBS, allowing Twitch users to change the streamer's Scenes.\r\n\r\n## Prerequisites\r\n\r\nIn order to run this software, you'll need the following:\r\n\r\n**A Twitch OAuth Token**: You'll use an OAuth token instead of a password for your bot to log in. [You can generate one here.](https://twitchapps.com/tmi/) Make sure you are logged in/connecting to _the bot's_ account when you do this.\r\n\r\n**Node.js**: This is a JavaScript application and Node.js is the framework we're using to execute our code.\r\n\r\n**OBS Studio**: This application is currently only tested on OBS Studio. **You're on your own if you're using SLOBS**.\r\n\r\n**obs-websocket**: Our application will communicate with OBS via websockets. [You can download the OBS Websockets plugin here.](https://obsproject.com/forum/resources/obs-websocket-remote-control-obs-studio-from-websockets.466/)\r\n\r\nInstallation for these prereqs vary by oeprating system, so they will not be covered here.\r\n\r\n## Installation/Setup\r\n\r\n### OBS Setup\r\n\r\nDecide which scenes you'll want chat to be able to switch to. Name those scenes with an exclamation point (!) at the beginning, ie: `!My Scene`. The app will only shows these scenes as options and only allow users to switch to them.\r\n\r\n### App Installation\r\n\r\n- Clone to a directory of your choice.\r\n- `npm` or `yarn` `install` the application dependencies.\r\n- Set the necessary values in a file `.env` at the root of your directory (detailed later)\r\n\r\n## Using the App\r\n\r\n- Run the app with `yarn dev` if you would like to run a development server that will reload with directory changes.\r\n- Run the app with `yarn start` to run the app regularly.\r\n- `ctrl+z` in your command line to terminate the app.\r\n\r\n### Chat Commands\r\n\r\n`!scenes`: This will show a list of all available scenes. The exclamation point is omitted from their display.\r\n\r\n`!change-scene \u003cscene name\u003e`: This changes the scene to the one specified. For instance, to change to a scene called `!My Scene`, the command would be `!change-scene My Scene`.\r\n\r\n## .env\r\n\r\nAt the root directory of the app, you'll find a `.env` file, which you'll need to edit. The values should be self-explanatory. Be sure to include `oauth:` on the `OAUTH_TOKEN` line. Changing `COMMAND_PREFIX` changes the character that you use tell the bot something is a command.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparadoxinversion%2Ftwitch-obs-simple","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fparadoxinversion%2Ftwitch-obs-simple","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparadoxinversion%2Ftwitch-obs-simple/lists"}