XFG16 / YouTubeDiscordPresence

An extension that takes data directly from the YouTube video playing on the browser and displays it as a rich presence on Discord. Works similar to the Spotify Discord rich presence.
https://chrome.google.com/webstore/detail/youtubediscordpresence/hnmeidgkfcbpjjjpmjmpehjdljlaeaaa
MIT License
156 stars 8 forks source link
64-bit chrome-extension cpp discord discord-js discordjs javascript native-messaging nodejs opera-extension windows youtube youtube-video

Installation

If you're here from the Chrome Web Store, you can skip the first step.

  1. Add the Chrome Extension from the Chrome Web Store

    • To access the personalization page, click the small icon in the top right corner of the browser, located beneath the extensions icon. For easier access, consider pinning the extension.
  2. Download the latest YTDPsetup.msi file in the releases section of this repository and run it on your device to install the secondary desktop component.

    • NOTE: Only Windows (x64) versions are currently supported.

Still confused? Watch the installation tutorial on YouTube using this link.


[!IMPORTANT]
Please read the announcements below for how the recent Discord UI/UX changes have impacted YouTubeDiscordPresence. Don't worry, YouTubeDiscordPresence will still work, but there will be some minor changes to how the rich presence is diplayed.

Announcements

Recently, Discord has been making major UI/UX changes that have impacted YouTubeDiscordPresence. Here are a few things you should know:

  1. Buttons: Don't worry, Discord did not remove this feature. However, buttons on your profile will no longer show on your client. Instead, they will only be displayed on other people's clients, so everyone else will still be able to click the buttons on your profile. If you want proof, simply ask a friend to take a screenshot after you start watching YouTube or YouTube Music.

  2. Time Left: For whatever reason, Discord deprecated the ability to display time left in a video. As a workaround, YouTubeDiscordPresence will now display how far you are into the video. I will work on addressing this once Discord finalizes its UI/UX updates.

    • An example profile with all the features with new UI/UX updates is shown below. Again, note that while you might not see all features on your client, this is what everyone else's client would display for your profile.



These issues are not unique to YouTubeDiscordPresence. For example, you can no longer see Spotify buttons on your own client either.


YouTubeDiscordPresence for Windows (x64)


Troubleshooting/Known Issues

[!IMPORTANT]
Please read the announcements above for how the recent Discord UI/UX changes have impacted YouTubeDiscordPresence. Don't worry, YouTubeDiscordPresence will still work, but there will be some minor changes to how the rich presence is diplayed.

Otherwise, see if any of the following address your issue:

If none of the above address your issue, then the first step you should always take is to go to chrome://extensions and disable the extension. Then, close and reopen your browser, and re-enable the extension, especially...


Opening a GitHub Issue


Detailed Installation Instructions

  1. Building the installer from scratch:

    • For NodeJS version: download the NodeHost directory and use pkg to compile app.js into an executable. However, you have to link the Chrome extension to the compiled executable manually, which can be done by following this guide

      • Note that in node_modules/discord-rpc/src/client.js, the RPC_CONNECTION_TIMEOUT was changed from 10e3 to 2000

      • The bundle.js file contains the application IDs for the YouTube and YouTube Music rich presence that you have to create separately in the Discord Developer Portal. Make sure the image keys match the ones in app.js

    • For C++ version: you can build the whole thing yourself with Visual Studio 2022. Just download the Host directory from this repository and open YTDPwin.sln under Host/YTDPwin in Visual Studio. Also, make sure to have the Microsoft Visual Studio Installer Project extension installed

  2. Add the Chrome Extension from the Chrome Web Store

    • If you want to load the extension without the Chrome Web Store or make edits, download the Extension directory, compress it into a zip, and load it onto your browser manually.

    • Make sure that the "allowed_origins" key in the JSON file involved in native messaging contains the extension's ID. This file can be found in the location you installed YouTubeDiscordPresence, which is usually C:\Program Files\YouTubeDiscordPresence as main.json


Miscellaneous

DISCLAIMER: this is not a bootleg copy of PreMiD. On a more technical note, it works similar to the Spotify rich presence—it only appears when a video is playing and disappears when there is no video or the video is paused. In addition, it only displays the presence for videos. Idling and searching are not displayed. Features such as exclusions, fully customizable details, and thumbnail coverage are unique and original to YouTubeDiscordPresence. YouTubeDiscordPresence has not referenced nor is affiliated with PreMiD in any way whatsoever.


License

Licensed under the MIT license.