Skip to content

Felipe-Sena/YT-RPC

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YouTube Music Rich Presence

Broadcast the status of the user's Discord to showcase what song they are listening to
I made this project out of a personal epiphany with Spotify having too many ads and requiring premium to listen together, so listen together comes free alongside ad block.
The listen together feature currently only works for one streamer globally, but a room system may be implemented.
This project requires you to generate a YouTube API key, specifically the YouTube Data API v3

image

Running YT-RPC

Navigate to the Google Cloud developer console and obtain an api key for the data API, then create a file into rpc and create a .env file with the value YOUTUBE_API_KEY="yourkey" This project comes with certain songs with custom properties such as a hover text or custom animated album art, which is changeable in custom.json Either open YT-RPC in a code editor of your choice and run main.py in the rpc folder (only use this for development purposes such as previewing custom.json changes)
Albiet untested, running the script raw with Python
Or compile YT-RPC into an exe using pyinstaller

Folder Documentation

  • crx folder: chrome extension that the Selenium browser runs and sends out peerconnection with WebRTC to transfer the music out
  • rpc folder: (gitignored .env file with YOUTUBE_API_KEY generated from google's api, run main.py with discord client open to connect to YT-RPC
  • server folder: runs on any public webserver
  • everything else: runs on the github pages website where people can connect, uses WebRTC to do the listen together mechanic

About

Youtube Music rich presence for Discord with Listen Together functionality

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 38.6%
  • Python 38.3%
  • CSS 14.6%
  • HTML 8.4%
  • TypeScript 0.1%