Compare commits

...

2 Commits
1.6.1 ... 1.6.2

Author SHA1 Message Date
08a1a427b4 🔖 1.6.2 2024-10-29 00:44:55 +08:00
呵呵です
d4e91c8521 🐛 修复被 ban 的爆炸 (#510) 2024-10-28 16:43:38 +00:00
4 changed files with 12 additions and 6 deletions

View File

@@ -122,5 +122,9 @@ class RatedData(BaseData):
percentile_rank: str percentile_rank: str
class InvalidData(BaseModel):
"""I don't know what osk is doing, but the return value is an empty dictionary"""
class LeagueSuccessModel(SuccessModel): class LeagueSuccessModel(SuccessModel):
data: NeverPlayedData | NeverRatedData | RatedData data: NeverPlayedData | NeverRatedData | RatedData | InvalidData

View File

@@ -6,7 +6,7 @@ from zoneinfo import ZoneInfo
from ....utils.exception import FallbackError from ....utils.exception import FallbackError
from ....utils.render.schemas.tetrio.user.base import TetraLeagueHistoryData from ....utils.render.schemas.tetrio.user.base import TetraLeagueHistoryData
from ..api.schemas.labs.leagueflow import Empty, LeagueFlowSuccess from ..api.schemas.labs.leagueflow import Empty, LeagueFlowSuccess
from ..api.schemas.summaries.league import LeagueSuccessModel, NeverPlayedData, NeverRatedData, RatedData from ..api.schemas.summaries.league import InvalidData, LeagueSuccessModel, NeverPlayedData, NeverRatedData, RatedData
def flow_to_history( def flow_to_history(
@@ -47,6 +47,8 @@ def get_league_data(
user_info: LeagueSuccessModel, league_type: type[L] | None = None user_info: LeagueSuccessModel, league_type: type[L] | None = None
) -> L | NeverPlayedData | NeverRatedData | RatedData: ) -> L | NeverPlayedData | NeverRatedData | RatedData:
league = user_info.data league = user_info.data
if isinstance(league, InvalidData):
raise FallbackError
if league_type is None: if league_type is None:
return league return league
if isinstance(league, league_type): if isinstance(league, league_type):

View File

@@ -22,7 +22,7 @@ from ....utils.render.schemas.tetrio.user.info_v2 import (
) )
from ....utils.screenshot import screenshot from ....utils.screenshot import screenshot
from ..api import Player from ..api import Player
from ..api.schemas.summaries.league import NeverPlayedData, NeverRatedData from ..api.schemas.summaries.league import InvalidData, NeverPlayedData, NeverRatedData
from .tools import flow_to_history, handling_special_value from .tools import flow_to_history, handling_special_value
@@ -111,7 +111,7 @@ async def make_query_image_v2(player: Player) -> bytes:
decaying=league.data.decaying, decaying=league.data.decaying,
history=history, history=history,
) )
if not isinstance(league.data, NeverPlayedData) if not isinstance(league.data, NeverPlayedData | InvalidData)
else None, else None,
statistic=Statistic( statistic=Statistic(
total=handling_special_value(user_info.data.gamesplayed), total=handling_special_value(user_info.data.gamesplayed),

View File

@@ -1,6 +1,6 @@
[project] [project]
name = "nonebot-plugin-tetris-stats" name = "nonebot-plugin-tetris-stats"
version = "1.6.1" version = "1.6.2"
description = "一款基于 NoneBot2 的用于查询 Tetris 相关游戏数据的插件" description = "一款基于 NoneBot2 的用于查询 Tetris 相关游戏数据的插件"
readme = "README.md" readme = "README.md"
authors = [{ name = "shoucandanghehe", email = "wallfjjd@gmail.com" }] authors = [{ name = "shoucandanghehe", email = "wallfjjd@gmail.com" }]
@@ -151,7 +151,7 @@ defineConstant = { PYDANTIC_V2 = true }
typeCheckingMode = "standard" typeCheckingMode = "standard"
[tool.bumpversion] [tool.bumpversion]
current_version = "1.6.1" current_version = "1.6.2"
tag = true tag = true
sign_tags = true sign_tags = true
tag_name = "{new_version}" tag_name = "{new_version}"