From 003e6619d8d018b33b1a8e7917812e868a0b2fed Mon Sep 17 00:00:00 2001 From: scdhh Date: Wed, 22 Nov 2023 15:58:55 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20iorank=20=E6=8C=87=E4=BB=A4?= =?UTF-8?q?=E4=B8=8D=E5=86=8D=E5=8E=BB=E5=B0=9D=E8=AF=95=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io_data_processor/__init__.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/nonebot_plugin_tetris_stats/game_data_processor/io_data_processor/__init__.py b/nonebot_plugin_tetris_stats/game_data_processor/io_data_processor/__init__.py index 9acf3f5..b9893ef 100644 --- a/nonebot_plugin_tetris_stats/game_data_processor/io_data_processor/__init__.py +++ b/nonebot_plugin_tetris_stats/game_data_processor/io_data_processor/__init__.py @@ -1,4 +1,4 @@ -from datetime import timedelta +from datetime import UTC, datetime, timedelta from zoneinfo import ZoneInfo from arclet.alconna import Alconna, AllParam, Arg, ArgFlag, Args, CommandMeta, Option @@ -17,7 +17,7 @@ from .. import add_default_handlers from ..constant import BIND_COMMAND, QUERY_COMMAND from .constant import GAME_TYPE from .model import IORank -from .processor import Processor, User, check_rank_data, identify_user_info +from .processor import Processor, User, identify_user_info from .typing import Rank alc = on_alconna( @@ -136,10 +136,6 @@ async def _(event: Event, matcher: Matcher, account: User): async def _(matcher: Matcher, rank: Rank): if rank == 'z': await matcher.finish('暂不支持查询未知段位') - try: - await check_rank_data() - except NeedCatchError as e: - await matcher.finish(str(f'段位信息获取失败\n{e}')) async with get_session() as session: latest_data = ( await session.scalars(select(IORank).where(IORank.rank == rank).order_by(IORank.id.desc()).limit(1)) @@ -157,7 +153,10 @@ async def _(matcher: Matcher, rank: Rank): .limit(1) ) ).one() - message = f'{rank.upper()} 段 分数线 {latest_data.tr_line:.2f} TR, {latest_data.player_count} 名玩家\n' + message = '' + if (datetime.now(UTC) - latest_data.create_time) > timedelta(hours=7): + message += 'Warning: 数据超过7小时未更新, 请联系Bot主人查看后台\n' + message += f'{rank.upper()} 段 分数线 {latest_data.tr_line:.2f} TR, {latest_data.player_count} 名玩家\n' if compare_data.id != latest_data.id: message += f'对比 {(latest_data.create_time-compare_data.create_time).total_seconds()/3600:.2f} 小时前趋势: {f"↑{difference:.2f}" if (difference:=latest_data.tr_line-compare_data.tr_line) > 0 else f"↓{-difference:.2f}" if difference < 0 else "→"}' else: