Giter Club home page Giter Club logo

crp's Introduction

CRP - Custom Rich Presence Client for Discord

CI GitHub stars GitHub issues GitHub Release

Lightweight, simple client for showing custom Rich Presence on discord

Usage

  • Register a new discord application
    • Go to discord developers dashboard.
    • Click on the "New Application" button at the top right.
    • Give it a name. The name will be your rich presence name. i.e. if your application's name is "Dyno", it will show in your status as "Playing Dyno"
    • Copy your application ID.
    • Go to the "Rich Presence" section of the application (in the navigation bar on the left)
    • Add whatever image you want in the assets section.
  • Download the latest release from release's section. Download the zip of your operating system, unzip the file in a folder/directory of your choice.
  • After unzipping the files, there should be a config.toml file (you might not see the .toml extention depending on your system). Edit the config file to your needs with any text editor and save it. See more in config
  • Run the crp file (crp.exe / crp). It should open a command prompt
    • If theres any error in your config file, it should show it
  • Now discord should show your rich presence.

Note

This will only work with the discord dekstop app. Due to limitations from discord, it is impossible to have rich presence on the browser version.

Config

The config.toml file is in Toml language, so the syntax follows its rules and specs.

The schema for the config file is as follows

ID = "" # Required

[State]
State = "" # Required
Details = "" # Required
StartTimestamp = ""
EndTimestamp = ""

[Images]
LargeImage = ""
SmallImage = ""
LargeImageTooltip = ""
SmallImageTooltip = ""

[Buttons]
FirstLabel = ""
FirstUrl = ""
SecondLabel = ""
SecondUrl = ""

If you miss any of the required field, the app doesn't run and instead warns you to check your config file again. All the other fields are optional, but there are some things to be kept in mind

  • Image tool tips obviously wont work if you don't specify any image name
  • If you specify a Button label, then a url for that button is required too. If you dont provide a url, it by default links to crp's github repo
  • If you specify both the start and end time, the start gets preference over the end.
  • If you do not need a functionality, its better to keep the value as just "", thought removing the entire key works. But don't keep the key name bare like LargeImage = where the "" are removed. Use LargeImage = "" instead. Anything extra added to the config file is ignored by the app.

Images and Assets

For setting images, go to the Discord Dev Portal and open your application's page, and open the Rich Presence section. There is a section named "Rich Presence Assets". Upload your image/photo there and give a name, for conveniences sake, don't put spaces in the names or too lengthy names. Give discord 5-10 mins to refresh your assets. Now open your config file. Put the name of your image in place of the LargeImage key and run the programme. It should show up.

Building

$ git clone https://github.com/Yakiyo/crp
  • Build with cargo
$ cargo build
# or
$ cargo run

This project was inspired by PizzaBelly's EasyRP

Author

CRP © Yakiyo. Authored and maintained by Yakiyo.

Released under MIT License

crp's People

Contributors

yakiyo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

crp's Issues

Notif for new update

On app start, check for new version releases from the gh repo.
Possibly in a separate thread or something.

This is a long-term planned feature as i still dk how to make http reqs with rust.

Support multiple profiles

Attempt to support multiple profiles in config.toml file. This should let users preset a few different config structs and switch from one another thro the cli during runtime. If possible?

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.