diff --git a/nonebot_plugin_tetris_stats/game_data_processor/io_data_processor/processor.py b/nonebot_plugin_tetris_stats/game_data_processor/io_data_processor/processor.py index e322d03..0b1eb73 100644 --- a/nonebot_plugin_tetris_stats/game_data_processor/io_data_processor/processor.py +++ b/nonebot_plugin_tetris_stats/game_data_processor/io_data_processor/processor.py @@ -312,7 +312,10 @@ class Processor(ProcessorMeta): user=TETRIOInfo.User( avatar=f'https://tetr.io/user-content/avatars/{user_info.data.user.id}.jpg?rv={user_info.data.user.avatar_revision}' if user_info.data.user.avatar_revision is not None - else f'{{"type":"identicon","hash":"{md5(user_info.data.user.id.encode()).hexdigest()}"}}', # noqa: S324 + else TETRIOInfo.User.Avatar( + type='identicon', + hash=md5(user_info.data.user.id.encode()).hexdigest(), # noqa: S324 + ), name=user_name, bio=user_info.data.user.bio, ), diff --git a/nonebot_plugin_tetris_stats/utils/render.py b/nonebot_plugin_tetris_stats/utils/render.py index ec05e52..1447a3c 100644 --- a/nonebot_plugin_tetris_stats/utils/render.py +++ b/nonebot_plugin_tetris_stats/utils/render.py @@ -35,7 +35,11 @@ class Bind(BaseModel): class TETRIOInfo(BaseModel): class User(BaseModel): - avatar: str + class Avatar(BaseModel): + type: Literal['identicon'] + hash: str + + avatar: str | Avatar name: str bio: str | None