Skip to content

NoelleTGS/osu-scorepost-generator

Repository files navigation

osu! Scorepost Generator

A generator for r/osugame-styled osu! scoreposts.

Features

  • Generate scorepost title using osu!'s API
  • Get score info using score ID, or by entering a username/user ID
  • Calculate PP for FC if score isn't an FC
  • Supports ranked, loved, and graveyarded maps
  • Calculate UR of plays with replays
  • Automatically copy title to your clipboard, and optionally open r/osugame submission page

Note

All modes are supported, but modes other than osu!standard might be missing features or have bugs. Feel free to report any problems in the issues tab.

Usage

Important

Before starting, make sure you have created an API key and an OAuth application on the osu! website.

Instructions

Go to your osu! settings page and click "New OAuth Application" near the bottom, give it any name you want, and add "http://localhost:7270/" as a callback URL. Copy the client ID and client secret for later.

Under the "Legacy API" tab, create an API key. The application name and URL can be whatever you like. Copy the API key for later.

Binary

Download the latest binary from the releases tab according to your platform.

Windows:

  1. Extract the zip file.
  2. Make a copy of the .example.env file and rename it to .env.
  3. Open .env in your favourite text editor and fill in your osu! API key, and the client ID and secret from the OAuth app you made earlier.
  4. Run the scorepostgenerator.exe file.
    • The first time you run the script (or if you haven't run it in a while), it will make you authenticate on the osu! website.

Linux:

  1. Extract the zip file and copy the .example.env file to .env.
    unzip scorepostgenerator-linux.zip
    cd scorepostgenerator-linux
    cp .example.env .env
  2. Open .env in your favourite text editor and fill in your osu! API key, and the client ID and secret from the OAuth app you made earlier.
  3. Make the scorepostgenerator file executable and run it.
    • The first time you run the script (or if you haven't run it in a while), it will make you authenticate on the osu! website.
    chmod +x scorepostgenerator
    ./scorepostgenerator

From source

Clone the repository:

git clone https://github.com/NoelleTGS/osu-scorepost-generator.git
cd osu-scorepost-generator

Install dependencies:

pip install -r requirements.txt

Set up environment variables:

Rename or copy .example.env to .env and fill it out with your API key, client ID, and client secret.

Run the script:

python scorepostgenerator.py

The first time you run the script (or if you haven't run it in a while), it will make you authenticate on the osu! website.

Important Info

Note

In osu!standard, as there is still no way to reliably differentiate between an S-rank with sliderbreaks and an FC with missed sliderends (tracked in #10), an approximation is made where if the max combo of the play is more than 99% of the max combo of the beatmap, the score is counted as an FC. I have found very few instances where this ends up being incorrect, but if you find any more or know a better way to do this, feel free to post in the linked issue.

Contributing

I don't have a clue what I'm doing so pull requests are open if you notice any glaring flaws in my code.

Acknowledgements

About

A generator for r/osugame-styled osu! scoreposts.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages