beatsaber-playlist-tool/README.md

73 lines
2.0 KiB
Markdown
Raw Normal View History

# playlist helper
2024-07-01 17:40:51 +00:00
## Usage
```sh
pipx install pleb-saberlist
player_scores_by_stars
leaderboard_songs_by_stars
2024-07-01 17:40:51 +00:00
```
2024-07-09 23:08:08 +00:00
### Examples
2024-07-01 17:40:51 +00:00
```sh
2024-07-09 23:08:08 +00:00
leaderboard_songs_by_stars
Enter the minimum starlevel to include on the playlist (Default: 6.0): 6.2
Enter the maximum starlevel to include on the playlist (Default: 6.3):
Enter the filename for the playlist (Default: SS Leaderboard 6.2★):
2024-07-09 16:06:13 DEBUG: Using selector: EpollSelector
2024-07-09 16:06:13 INFO: Fetching page 1/-1 of leaderboards
2024-07-09 16:06:13 INFO: Got 14 songs from leaderboard page 1
2024-07-09 16:06:13 INFO: Fetching page 2/3 of leaderboards
2024-07-09 16:06:14 INFO: Got 14 songs from leaderboard page 2
2024-07-09 16:06:14 INFO: Fetching page 3/3 of leaderboards
2024-07-09 16:06:14 INFO: Got 3 songs from leaderboard page 3
2024-07-09 16:06:14 INFO: Playlist written to SS Leaderboard 6.2★.bplist
2024-07-01 17:40:51 +00:00
```
2024-07-09 23:08:08 +00:00
Player songs by stars:
```sh
player_scores_by_stars
2024-07-09 16:07:04 DEBUG: Using selector: EpollSelector
Enter the playerid (Default: 76561199407393962):
Enter the minimum starlevel to include on the playlist (Default: 5):
Enter the maximum starlevel to include on the playlist (Default: 6.0): 5.5
Enter the filename for the playlist (Default: Replay SS 5.0★):
2024-07-09 16:07:14 INFO: Fetching page 1/-1 of player scores
2024-07-09 16:07:15 INFO: Got 100 scores from page 1
...
2024-07-09 16:07:19 INFO: Fetching page 8/9 of player scores
2024-07-09 16:07:20 INFO: Got 96 scores from page 8
2024-07-09 16:07:20 INFO: Playlist written to Replay SS 5.0★.bplist
```
2024-07-01 17:40:51 +00:00
## Development
Clone the repo and install dependencies into a local virtual environment:
```bash
pip install --upgrade pip
pip install --editable .
```
## Resources
* [Beatleader API](https://beatleader.xyz/developer)
* [ScoreSaber API](https://docs.scoresaber.com/)
## Tips
Count results
```shell
jq '.songs | length' < playlist.bplist
```
Avoid printing covers in console.
```shell
jq 'del(.image)' < playlist.bplist
```