GithubHelp home page GithubHelp logo

lemonisahe / soundcloud-rp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from demaisj/soundcloud-rp

0.0 0.0 0.0 435 KB

Adds Discord Rich Presence support to Soundcloud.

JavaScript 93.10% Handlebars 6.90%

soundcloud-rp's Introduction

Soundcloud Rich Presence

Adds Discord Rich Presence support to Soundcloud.

Introduction

Soundcloud Rich Presence allows you to show off your Soundcloud listening session to your friends using Discord Rich Presence.

It is a combination of a server, communicating with discord itself, and a user-script, running on your browser to send playback information to the server. Sadly, due to restrictions in the rich presence protocol, it is mandatory to run both the server and the user-script in order for the system to work.

Artwork upload is not available by default due to Discord's asset limit (150). In order to activate it, you need to create a new app on the developer interface, and set the new ClientID and your APIKey of the developer interface. More details at Artwork Upload.

Preview

With artwork upload

Profile Popup

Without artwork upload

Profile Popup

Installation

You will need to install nodejs (v10) and npm (v6) first. Make sure the node & npm commands are installed on your PATH.

Server:

  1. Clone the repository somewhere on your hard drive or unzip this archive if you don't have git installed
  2. Open a terminal in the soundcloud-rp directory
  3. Install the dependencies with npm install
  4. Retrieve your Soundcloud ClientID :
    • Open Soundcloud then hit Ctrl+Shift+I to open the devtools
    • Go to the Network tab
    • Filter by api-v2.soundcloud.com
    • Click on the first result. If there is no results, try changing page on Soundcloud to trigger some requests
    • Scroll down to the Query String Parameters section
    • Look for the client_id field and copy the value
    • Paste it in the corresponding field of the config/default.json file
  5. Start the server with npm run start
  6. Additionnaly create a systemd service (linux) or startup shortcut (windows) to start the server on bootup

Browser:

  1. Install a userscript extension for your browser like Tampermonkey
  2. Download & install soundcloud-rp.user.js
  3. Open soundcloud & enjoy

Artwork upload

Here is a step by step guide to activate artwork upload:

  1. In the config/default.json file, change uploadArtwork from false to true
  2. Go to the developer interface of Discord
  3. Create a new app, give it a cool name and save it
  4. Paste the Client ID (found in App Details on the top of the page) into the config/default.json file
  5. Scroll down and click "Enable Rich Presence"
  6. Hit save changes just in case
  7. Retrieve your APIKey
    • Hit ctrl+shift+i to open the devtools
    • Go to the Network tab
    • Filter by /api/
    • Click on the first result. If there is no results, try changing page to trigger some requests
    • Scroll down to the Request Headers section
    • Look for the authorization field and copy the value
    • Paste it in the corresponding field of the config/default.json file (do not forget to wrap it in double quotes as in "value")
  8. Restart your server and it should be ok!

soundcloud-rp's People

Contributors

blackofworld avatar demaisj avatar lemonisahe avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.