{"id":13758517,"url":"https://github.com/TheWeirdlings/TwitchTube","last_synced_at":"2025-05-10T08:30:28.968Z","repository":{"id":69825173,"uuid":"57064798","full_name":"TheWeirdlings/TwitchTube","owner":"TheWeirdlings","description":"An open source streaming bot for Youtube and Twitch","archived":true,"fork":false,"pushed_at":"2017-08-30T15:21:30.000Z","size":151,"stargazers_count":11,"open_issues_count":0,"forks_count":0,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-11-16T15:37:40.923Z","etag":null,"topics":["bot","python","twitch","youtube"],"latest_commit_sha":null,"homepage":null,"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/TheWeirdlings.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}},"created_at":"2016-04-25T18:13:37.000Z","updated_at":"2024-04-11T17:21:28.000Z","dependencies_parsed_at":"2023-03-08T20:30:32.907Z","dependency_job_id":null,"html_url":"https://github.com/TheWeirdlings/TwitchTube","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/TheWeirdlings%2FTwitchTube","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheWeirdlings%2FTwitchTube/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheWeirdlings%2FTwitchTube/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheWeirdlings%2FTwitchTube/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheWeirdlings","download_url":"https://codeload.github.com/TheWeirdlings/TwitchTube/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253389415,"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":["bot","python","twitch","youtube"],"created_at":"2024-08-03T13:00:31.649Z","updated_at":"2025-05-10T08:30:28.568Z","avatar_url":"https://github.com/TheWeirdlings.png","language":"Python","funding_links":[],"categories":["Libraries"],"sub_categories":["Python"],"readme":"About\n=========\nTwitchTube [twitchtube.io](http://twitchtube.io) is an open source streaming bot for Twitch and Youtube.  The bot's main purpose is to synchronize chat between Youtube and Twitch, but contains many regular bot features as well. The following features are:\n\n1. Chat Sync between Twitch and Youtube\n2. Commands\n3. Timers\n4. Self hosting\n5. Emoji Assignment to Users\n\nWe add features every week, so feel free to open an issue request here or contact us on [twitchtube.io](http://twitchtube.io).\n\nThe bot can be self-hosted, but we are currently taking beta users for our web/mobile apps. Feel free to sign up on our webpage: [twitchtube.io Beta Signup](http://twitchtube.io/beta)\n\nTo Set up\n=========\n\nClone\n---------------------\n* git clone https://github.com/TheWeirdlings/TwitchTube.git\n* or Fork :)\n\nConfigure\n---------------------\n1. pip install virtualenv\n2. mkdir twitchtube-env\n3. virtualenv twitchtube-env\n4. cd twitchtube-env\n5. source Scripts/activate\n6. git clone https://github.com/[username]/TwitchTube.git\n7. cd Twitchtube\n8. Install twitchtube `pip install -e .`\n9. cp config.py.example config.py\n\nConnect Youtube\n---------------------\n1. Go to https://console.developers.google.com\n2. Create a new project or use an existing\n3. Search for YouTube Data API v3 and enable the api\n4. Select Credentials on the left hand side\n5. Click create credentials, then click OAuth\n6. Under application type select Other, then click create\n7. Download the Json file, and rename the file to client_secrets.json\n8. Copy the client_secrets.json to the root directory of twitchtube\n9. Now, when you first run any Youtube worker or generator.py you will need to add the --noauth_local_webserver flag.     Examples are below\n\nConnect Twitch\n---------------------\n1. Copy twitchtube/twitch/twitchConfig-example.py to twitchtube/twitch/twitchConfig.py\n2. Get an OAuth password from (http://www.twitchapps.com/tmi/). Use the NICK that you register\n3. Fill out the twitch config with your developer information.\n\nAdd a bot to your mongo database\n---------------------\n1. Start mongo with the mongod command\n2. `python generator.py --action=create --item=bot` or `python generator.py --action=create --item=bot --noauth_local_webserver` for your first run\n3. python generator.py --action=read --item=bot\n* (Copy the bot id)\n\nRun the Workers\n---------------------\n- python workers/TwitchChatSaverWorker.py\n- python workers/TwitchChatSenderWorker.py\n- python workers/YoutubeSaverWorker.py\n- python workers/YoutubeSenderWorker.py\n- python workers/CommandListener.py (if you want the UI commands)\n\nServer Set Up\n---------------------\n1. Install Redis https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-redis-on-ubuntu-16-04\n2. Install mongo\n3. Install nodejs https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-an-ubuntu-14-04-server\n4. Install pm2 - npm isntall -g pm2\n5. python commander.py --bot=[bot_id] --action=start\n\n# Runnings tests\n - pip install pytest\n - pytest\n - pytest --cov-report html --cov=twitchtube tests/\n\n# Updating sup modules\n - git submodule foreach git pull origin master\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTheWeirdlings%2FTwitchTube","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTheWeirdlings%2FTwitchTube","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTheWeirdlings%2FTwitchTube/lists"}