okzyrox / 3DS-RPC

Connect your 3DS playing status to Discord!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

3DS Discord Rich Presence

Display your 3DS game status on Discord!

This README will be split into two sections:

Notice

By using this app, you agree to the terms listed in TERMS.md.

Credits

This project connects to a self-hosted API (or one provided by me) and fetches data received by mimicking a real 3DS connecting to the friends service and receiving friend data.
I'd like to thank:

  • kinnay and his NintendoClients
    • NintendoClients is what this program uses to pretend to be a real 3DS.
  • hax0kartik and his 3dsdb
    • 3dsdb is an open-source project that includes data about games on the eShop. A modified version of it is used to retrieve the game's name and icon url.
  • HEYimHeroic and her mii2studio
    • mii2studio is a command line tool written in Python that allows the user to convert between various versions of Nintendo Mii formats. I have created a modified version of it internally to convert CFSD (really, MiiData) to Mii Studio code.
  • jaames and his mii-qr.py
    • mii-qr.py is a Python script that converts from the encrypted QR code format to normal CFSD. For whatever reason, a direct connection to the friends service on the 3DS returns a QR code, so this is insanely useful. Thank you.
  • qwerty for her pypresence
    • pypresence is a useful Python module that allows developers to connect their games to Discord via Python. It is how 3DS-RPC sends Rich Presence data to Discord.
  • StartBootstrap for their startbootstrap-sb-admin
    • startbootstrap-sb-admin is a template using bootstrap which is how I created the friends network website!

Quickstart Guide

*Until this project has an official release, it is recommended to follow the directions written here.

Download the app from the latest release and run!
Once ran, the app will ask for you to add a friend on your Nintendo 3DS. This is for the express purpose of pulling your currently playing Nintendo game.

  1. Open Discord and 3DS-RPC

  2. Add the bot's friend code provided

  3. Enter your own friend code

  1. Profit!
  • Each update is around every ~30 seconds (keep in mind, the backend is updating at a different rate than the client, so this may vary). They are automatic, but it may take upwards of one minute after the program begins. To make certain that everything is in order, check your 3DS' friends list to verify the bot account has added you back.

FAQ

If none of the below Qs and As help with your problem, feel free to file an issue. Alternatively, you can join the 3DS-RPC Discord server for a better back-and-forth method of communication with me!

Q: Whenever I play a game, 3DS-RPC won't change from the home screen!
A: Firstly, try waiting ~30 seconds, as the application has a fairly slow response time. Secondly, make sure that you've enabled "Show friends what you're playing?" on your 3DS' friends app.

Please don't DDoS me...

In-depth guide

Building

Understanding

About

Connect your 3DS playing status to Discord!


Languages

Language:Python 56.8%Language:Pug 19.7%Language:SCSS 10.5%Language:JavaScript 10.1%Language:Shell 2.9%