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.
- 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
! ✅
- 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.
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.
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.
- Generated keys are stored in the
- Success!! If all went well, as long as you keep the program running, your Discord status will now reflect your Switch Online status.