{"id":13758429,"url":"https://github.com/hpcbot/hpcbot","last_synced_at":"2025-07-30T18:12:18.690Z","repository":{"id":19093994,"uuid":"85791305","full_name":"hpcbot/hpcbot","owner":"hpcbot","description":"A Twitch bot to make your stream incredibly interactive","archived":false,"fork":false,"pushed_at":"2022-11-16T00:00:35.000Z","size":10925,"stargazers_count":15,"open_issues_count":28,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-15T01:29:48.522Z","etag":null,"topics":["bot","chatbot","twitch"],"latest_commit_sha":null,"homepage":"http://hpcbot.com","language":"JavaScript","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/hpcbot.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":"2017-03-22T06:09:03.000Z","updated_at":"2021-11-08T12:12:05.000Z","dependencies_parsed_at":"2022-09-09T22:20:08.383Z","dependency_job_id":null,"html_url":"https://github.com/hpcbot/hpcbot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hpcbot/hpcbot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hpcbot%2Fhpcbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hpcbot%2Fhpcbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hpcbot%2Fhpcbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hpcbot%2Fhpcbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hpcbot","download_url":"https://codeload.github.com/hpcbot/hpcbot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hpcbot%2Fhpcbot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267915079,"owners_count":24164854,"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","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["bot","chatbot","twitch"],"created_at":"2024-08-03T13:00:30.063Z","updated_at":"2025-07-30T18:12:18.660Z","avatar_url":"https://github.com/hpcbot.png","language":"JavaScript","funding_links":[],"categories":["Libraries"],"sub_categories":["JavaScript (Node.js)"],"readme":"# hpc-bot\nA Twitch Bot library to quickly build custom commands, overlays, and other ways to make your stream incredibly interactive.\n\n# Overview\n\nhpc-bot was started because the existing bots out there didn't allow a high amount of customization and logic. We wanted to make html5 games that our viewers could play with us during downtime and add more options than just voting and betting.\n\nWe wanted a library that was easy to implement in node and would let us add features regularly to keep our viewers entertained.\n\n**Key Features**\n* `chat` Chat bot with interactive chat and whisper commands (e.g. !music)\n* `overlays` Trigger custom overlays (video, html, audio, etc) that play on your stream\n* `music` Listen to music sync'd with your fellow streamers and take viewer requests\n* `resources` Users can earn points and spend them on items/consumables that affect the stream\n* `soundboard` Trigger events and overlays from your browser\n* `teams` Users can join a team and compete against other teams for challenges\n* `utils` A bunch of useful utilities to run your stream: Random numbers, logging/analytics\n\n# Setup\n\n## Installation (Existing Project)\n\n1. Add the package into your project: `npm install hpc-bot`\n1. Install Redis (database): http://redis.io\n\n## Installation (New Project)\n\n1. Install NodeJS: http://nodejs.org\n1. Create a starter file: `index.js`\n1. Add the package to your project: `npm install hpc-bot`\n1. Install Redis (database): http://redis.io\n\n## Config\n\nFirst, you need to create a Twitch account and App for your bot: https://blog.twitch.tv/client-id-required-for-kraken-api-calls-afbb8e95f843\n\nhpc-bot requires a few parameters to be configured up front to work with the database and external services. These parameters are passed in via the `options` object when you start the bot.\n\nHere are the parameters that `options` accepts:\n\n| Parameter    | Required | Example | Description |\n| --------     | :------: | ------- | ----------- |\n| **username** | yes  | hpc.dumbledore | Your bot's Twitch Username (required) |\n| **oauth**    | yes  | oauth:1923094jalfjioa918fads | Your Twitch oauth hash. see: http://twitchapps.com/tmi/ |\n| **channel**  | yes  | #harrypotterclan | Your Twitch chat channel |\n| **clientID** | yes  | asfdkjkl14jadfa | Your Twitch app Client ID - https://blog.twitch.tv/client-id-required-for-kraken-api-calls-afbb8e95f843 |\n| **secret**   | yes  | 1lkjklmasd0c0a  | Your Twitch app Secret - https://blog.twitch.tv/client-id-required-for-kraken-api-calls-afbb8e95f843 |\n| **eventbus** | no   | `new EventEmitter()`` | The eventemitter object that the bot uses to call/listen for events |\n| **whitelist** | no  | [ 'bdickason', 'larry_manalo' ] | An array of twitch usernames that have access to the web interface and whitelisted commands |\n| **youtubeKey** | no | k12jlkjasdjamc | Your Youtube API key to load music videos (Required for Jukebox)|\n| **hostname** | no | harrypotterclan.com | Necessary for testing/deploying the music feature |\n| **logglyToken** | no | akjsdklfjakljf | Your Loggly token if you want to log events for debugging purposes (Required for Logging) |\n| **logglySubdomain** | no | bdickason | Your Loggly subdomain if you want to log events for debugging purposes (Required for Logging) |\n| **mixpanel** | no   | akjflj232jk1a   | Your Mixpanel ID to save analytics |\n\nPhew! Hope you got that all setup right :D There should be errors along the way if something goes wrong to help you debug when you run the app.\n\n## Running the App\n\nTo run the app, execute `npm start` from your project root.\n\n# Usage\n\n## chat\n\n## overlays\n\n## music\n\n## resources\n\n## soundboard\n\n## teams\n\n## utils\n\n# Contributing\n## Changing what the bot says (Strings)\n\nYou can locate all of the strings the bot uses in `config/strings.json`: https://github.com/bdickason/hpc-bot/blob/master/config/strings.json\n\nYou can edit the format here there, just make sure you copy/paste the resulting file here to test it: http://jsonlint.com/\n\n\n## Running Tests\n\nYou can run tests to verify that everything is working with the command `npm test`. This requires **mocha** to be installed with `npm install -g mocha`.\n\nIf you plan to submit pull requests, please ensure that the request includes proper test coverage of your feature.\n\n\n## Building the app\n\nBecause we use React, our app requires a step to build your client side changes into a bundle.js file.\n\nTo build for **Development**, use `npm run dev`. This will watch your client side js files and re-build a debug-friendly react bundle whenever you change them.\n\nTo build for **Production**, use `npm run build`. This will build a single bundle.js file that is production-ready (and smaller!) but will not watch changes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhpcbot%2Fhpcbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhpcbot%2Fhpcbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhpcbot%2Fhpcbot/lists"}