From f7c3d493ea7e9772dcc7427718e08ddf37deacd6 Mon Sep 17 00:00:00 2001 From: shoucandanghehe Date: Mon, 10 Jun 2024 02:13:03 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20TETR.IO=20=E9=80=82=E9=85=8D=20v2?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nonebot_plugin_tetris_stats/games/tetrio/query.py | 12 ++++++++++-- .../utils/render/schemas/tetrio_info_v2.py | 9 ++++++++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/nonebot_plugin_tetris_stats/games/tetrio/query.py b/nonebot_plugin_tetris_stats/games/tetrio/query.py index 5180ec6..1927c52 100644 --- a/nonebot_plugin_tetris_stats/games/tetrio/query.py +++ b/nonebot_plugin_tetris_stats/games/tetrio/query.py @@ -32,7 +32,7 @@ from ...utils.render.schemas.base import Avatar, Ranking from ...utils.render.schemas.tetrio_info import Data, Radar, TetraLeague, TetraLeagueHistory from ...utils.render.schemas.tetrio_info import Info as V1TemplateInfo from ...utils.render.schemas.tetrio_info import User as V1TemplateUser -from ...utils.render.schemas.tetrio_info_v2 import Blitz, Sprint, Statistic, TetraLeagueStatistic, Zen +from ...utils.render.schemas.tetrio_info_v2 import Badge, Blitz, Sprint, Statistic, TetraLeagueStatistic, Zen from ...utils.render.schemas.tetrio_info_v2 import Info as V2TemplateInfo from ...utils.render.schemas.tetrio_info_v2 import TetraLeague as V2TemplateTetraLeague from ...utils.render.schemas.tetrio_info_v2 import User as V2TemplateUser @@ -354,7 +354,15 @@ async def make_query_image_v2(player: Player) -> bytes: type='identicon', hash=md5(user_info.data.user.id.encode()).hexdigest(), # noqa: S324 ), - badges=[i.id for i in user_info.data.user.badges], + badges=[ + Badge( + id=i.id, + description=i.label, + group=i.group, + receive_at=i.ts if isinstance(i.ts, datetime) else None, + ) + for i in user_info.data.user.badges + ], country=user_info.data.user.country, xp=user_info.data.user.xp, friend_count=user_info.data.user.friend_count or 0, diff --git a/nonebot_plugin_tetris_stats/utils/render/schemas/tetrio_info_v2.py b/nonebot_plugin_tetris_stats/utils/render/schemas/tetrio_info_v2.py index a9a3af2..c096abc 100644 --- a/nonebot_plugin_tetris_stats/utils/render/schemas/tetrio_info_v2.py +++ b/nonebot_plugin_tetris_stats/utils/render/schemas/tetrio_info_v2.py @@ -7,6 +7,13 @@ from ...typing import Number from .base import Avatar +class Badge(BaseModel): + id: str + description: str + group: str | None + receive_at: datetime | None + + class User(BaseModel): id: str name: str @@ -23,7 +30,7 @@ class User(BaseModel): verified: bool bad_standing: bool - badges: list[str] + badges: list[Badge] xp: Number playtime: str | None