ErisApps / POI

The friendly bot who helps out in the Belgian Beat Saber Community Discord server.
MIT License
7 stars 2 forks source link

Support alternative leaderboard services #352

Closed ErisApps closed 2 years ago

ErisApps commented 2 years ago

Basically what the title implies, support services other than ScoreSaber so that people who don't wanna use ScoreSaber don't have to... This includes, but not exhaustive

Will require some rework in how the current commands work, maybe completely switch over to slash commands and use command groups instead? (See #177 and #257)

ErisApps commented 2 years ago

AccSaber endpoints: https://api.accsaber.com/categories - Returns the categories they have https://api.accsaber.com/categories/{categoryName}/standings - Category standings https://api.accsaber.com/ranked-maps - All Ranked Maps https://api.accsaber.com/ranked-maps/{leaderboardId} - Returns a specific leaderboard - also works by hash (ScoreSaber leaderboard ID) https://api.accsaber.com/players/{playerId} - Returns a specific player (steam or oculus ID)

ErisApps commented 2 years ago

BeatLeader endpoints: Needs some more digging into the repo. (https://github.com/BeatLeader/beatleader-server/tree/master/Controllers)

ErisApps commented 2 years ago

Hitbloq endpoints: Needs some more digging into the repo. (https://github.com/DaFluffyPotato/hitbloq/blob/main/main.py)

raineaeternal commented 2 years ago

Regarding AccSaber endpoints. Please add a User Agent, so we can know who or what requested the info.

ErisApps commented 2 years ago

The usual format that I use for our lovely bot is POINext/{Version}. I hope that's fine for you? Eg: https://github.com/ErisApps/POI/blob/main/POI.Core/Services/ScoreSaberApiService.cs#L52-L58

raineaeternal commented 2 years ago

Yep, that is all good. Thanks! ^^

ErisApps commented 2 years ago

This issue will be closed in favor of tickets #445, #446, #447.