A generator for r/osugame-styled osu! scoreposts.
- 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.
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.
Download the latest binary from the releases tab according to your platform.
Windows:
- Extract the zip file.
- Make a copy of the
.example.env
file and rename it to.env
. - 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. - 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:
- Extract the zip file and copy the
.example.env
file to.env
.unzip scorepostgenerator-linux.zip cd scorepostgenerator-linux cp .example.env .env
- 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. - 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
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.
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.
I don't have a clue what I'm doing so pull requests are open if you notice any glaring flaws in my code.