Skip to content

WORK IN PROGRESS - PC application that automatically updates your Discord status to match your Switch Online status. (i.e. if you start playing a game on your Switch, this program will automatically update your Discord status accordingly.)

Notifications You must be signed in to change notification settings

Quark064/NSO-Discord-Integration

Repository files navigation

HEAVY WIP

This program aims to automate adding your Switch Online Presence to the Discord GameSDK automatically, allowing all of your Discord friends to see you online on your Switch.

CURRENT STATUS:

  • Found work-around to allow for your own online presence to be shown in the NSO application. ✅
  • Repurposed the splatnet2statink repository to fetch your current online status in a JSON format. ✅
  • Working PoC using pypresence! ✅

TO-DO

  • Figure out Python threading so the update loop can run independently from the (eventual) GUI.
  • Error Checking.
  • GUI
  • Get permission to actually be using some of the API's and do proper crediting!!
  • MAYBE'S (IDK if these are actually possible with Python and definitely won't work cross-platform.)
    • Tray Icon
    • Enable npf71b963c1b7b6d119 redirection to avoid awkward copy-pasting of session keys.

CREDITS

eli: Wrote the splatnet2statink repo, which I unceremoniously stole and repurposed code from for authentication purposes; along with their hashing API.

qwertyquerty: For the pypresence library that greatly simplified getting the PoC working.

SETUP

This is still in Alpha so the instructions are going to be pretty bare, and you will probably encounter a lot of fun crashes. I will be creating executables for more polished versions (unless I get help porting it to Electron or something) in the future.

NOTE: To properly authenticate the Tokens, an external API is used to generate a specific hash needed to log-in properly. If you are concerned about this, feel free to read more about it here.

Due to the structure of the program, a secondary Nintendo Account is required. This allows for both detection of your online presence and ban protection (highly unlikely) against your main account.

  • Create a new user account on your Switch.
  • Create and link a Nintendo Account to it.
  • Go to the Friend Settings of the new user and add your main account as a friend (via your Friend Code).

Requirements

  • Python >= 3.10
  • Discord installed on your machine.

Setting Up

  • Clone or download the repo.
  • Install the required libraries with the following commands:
    • pip install bs4
    • pip install pypresence
    • pip install unidecode
  • Run the main.py file and follow the directions to link the new Nintendo Account you created to the program.
    • Generated keys are stored in the config.json file and are only sent to Nintendo.
  • Success!! If all went well, as long as you keep the program running, your Discord status will now reflect your Switch Online status.

About

WORK IN PROGRESS - PC application that automatically updates your Discord status to match your Switch Online status. (i.e. if you start playing a game on your Switch, this program will automatically update your Discord status accordingly.)

Resources

Stars

Watchers

Forks

Releases

No releases published

Languages