Фикс метода get_score

This commit is contained in:
2025-11-26 14:39:46 +03:00
parent 34c0e3ca9f
commit d80b5da7be
2 changed files with 49 additions and 42 deletions

View File

@ -47,9 +47,9 @@ class osuAPIClient(AioHTTPXClient):
case _:
raise s.Error(500, 'Internal Server Error')
async def get_score(self, access_token: str, score_id: int):
async def get_score(self, access_token: str, mode: str, score_id: int):
req = await self.get(
f'/scores/{score_id}',
f'/scores/{mode}/{score_id}',
headers=self.clean_dict(
{
'Authorization': f'Bearer {access_token}',

View File

@ -34,7 +34,7 @@ class Country(BaseModel):
class Cover(BaseModel):
model_config = ConfigDict(extra='forbid')
custom_url: str
custom_url: str | None
url: str
id: int | None
@ -211,38 +211,6 @@ class Covers(BaseModel):
slimcover_2x: str = Field(..., alias='slimcover@2x')
class Beatmap(BaseModel):
model_config = ConfigDict(extra='forbid')
beatmapset_id: int
difficulty_rating: float
id: int
mode: str
status: str
total_length: int
user_id: int
version: str
accuracy: float
ar: float
bpm: float
convert: bool
count_circles: int
count_sliders: int
count_spinners: int
cs: float
deleted_at: datetime | None
drain: float
hit_length: int
is_scoreable: bool
last_updated: str
mode_int: int
passcount: int
playcount: int
ranked: int
url: str
checksum: str
class Beatmapset(BaseModel):
model_config = ConfigDict(extra='forbid')
@ -284,8 +252,12 @@ class User(BaseModel):
is_supporter: bool
last_visit: datetime | None
pm_friends_only: bool
profile_colour: None
profile_colour: str | None
username: str
country: Country | None = None
team: Team | None = None
cover: Cover | None = None
groups: list[str] | None = None
class Weight(BaseModel):
@ -353,13 +325,48 @@ class BeatmapFailtimes(BaseModel):
exit: list[int]
class Beatmap(BaseModel):
model_config = ConfigDict(extra='forbid')
beatmapset_id: int
difficulty_rating: float
id: int
mode: str
status: str
total_length: int
user_id: int
version: str
accuracy: float
ar: float
bpm: float
convert: bool
count_circles: int
count_sliders: int
count_spinners: int
cs: float
deleted_at: datetime | None
drain: float
hit_length: int
is_scoreable: bool
last_updated: str
mode_int: int
passcount: int
playcount: int
ranked: int
url: str
checksum: str
max_combo: int | None = None
owners: list[BeatmapOwner] | None = None
user: User | None = None
class BeatmapExtended(Beatmap):
model_config = ConfigDict(extra='forbid')
beatmapset: BeatmapsetExtended
max_combo: int
max_combo: int # type: ignore
current_user_playcount: int
owners: list[BeatmapOwner]
owners: list[BeatmapOwner] # type: ignore
failtimes: BeatmapFailtimes
@ -388,6 +395,7 @@ class Score(BaseModel):
beatmapset: Beatmapset
user: User
weight: Weight | None = None
rank_global: int | None = None
class GetUser(User):
@ -411,8 +419,8 @@ class GetUser(User):
title_url: None
twitter: str | None
website: str | None
country: Country
cover: Cover
country: Country # type: ignore
cover: Cover # type: ignore
kudosu: Kudosu
account_history: list[str]
active_tournament_banner: ActiveTournamentBanner | None
@ -425,7 +433,7 @@ class GetUser(User):
favourite_beatmapset_count: int
follower_count: int
graveyard_beatmapset_count: int
groups: list[str]
groups: list[str] # type: ignore
guest_beatmapset_count: int
loved_beatmapset_count: int
mapping_follower_count: int
@ -443,7 +451,6 @@ class GetUser(User):
scores_recent_count: int
statistics: UserStatistics
support_level: int
team: Team | None
user_achievements: list[UserAchievement]
rank_history: RankHistory
rankHistory: RankHistory