From e4a92ea34ba1767c2c1365a36b0dbca18b64fd12 Mon Sep 17 00:00:00 2001 From: HibiKier <45528451+HibiKier@users.noreply.github.com> Date: Mon, 9 Sep 2024 22:47:23 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20=E7=AD=BE=E5=88=B0/=E9=87=91?= =?UTF-8?q?=E5=B8=81=E6=8E=92=E8=A1=8C=E9=99=90=E5=88=B6=E6=9C=80=E5=A4=A7?= =?UTF-8?q?=E6=95=B0=E9=87=8F=20(#1616)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ✨ 签到/金币排行限制最大数量 --- zhenxun/builtin_plugins/shop/__init__.py | 8 +++++++- zhenxun/builtin_plugins/sign_in/__init__.py | 12 +++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/zhenxun/builtin_plugins/shop/__init__.py b/zhenxun/builtin_plugins/shop/__init__.py index e247d1a1..9344e936 100644 --- a/zhenxun/builtin_plugins/shop/__init__.py +++ b/zhenxun/builtin_plugins/shop/__init__.py @@ -55,7 +55,7 @@ _matcher = on_alconna( Subcommand("my-props", help_text="我的道具"), Subcommand("buy", Args["name", str]["num", int, 1], help_text="购买道具"), Subcommand("use", Args["name", str]["num?", int, 1], help_text="使用道具"), - Subcommand("gold-list", Args["num?", int], help_text="使用道具"), + Subcommand("gold-list", Args["num", int], help_text="金币排行"), ), priority=5, block=True, @@ -181,8 +181,14 @@ async def _( async def _( session: EventSession, arparma: Arparma, num: Query[int] = AlconnaQuery("num", 10) ): + if num.result > 50: + await MessageUtils.build_message("排行榜人数不能超过50哦...").finish() if session.id1: gid = session.id3 or session.id2 + if not arparma.find("all") and not gid: + await MessageUtils.build_message( + "私聊中无法查看 '金币排行',请发送 '金币总排行'" + ).finish() if arparma.find("all"): gid = None result = await gold_rank(session.id1, gid, num.result, session.platform) diff --git a/zhenxun/builtin_plugins/sign_in/__init__.py b/zhenxun/builtin_plugins/sign_in/__init__.py index d1a1278f..afd22a8d 100644 --- a/zhenxun/builtin_plugins/sign_in/__init__.py +++ b/zhenxun/builtin_plugins/sign_in/__init__.py @@ -3,9 +3,11 @@ from nonebot_plugin_session import EventSession from nonebot_plugin_apscheduler import scheduler from nonebot_plugin_alconna import ( Args, + Query, Option, Alconna, Arparma, + AlconnaQuery, on_alconna, store_true, ) @@ -90,7 +92,7 @@ _sign_matcher = on_alconna( Option("--my", action=store_true, help_text="我的签到"), Option( "-l|--list", - Args["num", int, 10], + Args["num", int], help_text="好感度排行", ), Option("-g|--global", action=store_true, help_text="全局排行"), @@ -140,7 +142,11 @@ async def _(session: EventSession, arparma: Arparma, nickname: str = UserName()) @_sign_matcher.assign("list") -async def _(session: EventSession, arparma: Arparma, num: int): +async def _( + session: EventSession, arparma: Arparma, num: Query[int] = AlconnaQuery("num", 10) +): + if num.result > 50: + await MessageUtils.build_message("排行榜人数不能超过50哦...").finish() gid = session.id3 or session.id2 if not arparma.find("global") and not gid: await MessageUtils.build_message( @@ -149,7 +155,7 @@ async def _(session: EventSession, arparma: Arparma, num: int): if session.id1: if arparma.find("global"): gid = None - if image := await SignManage.rank(session.id1, num, gid): + if image := await SignManage.rank(session.id1, num.result, gid): logger.info("查看签到排行", arparma.header_result, session=session) await MessageUtils.build_message(image).finish() return MessageUtils.build_message("用户id为空...").send()