From c38bab21b3c85e82250e3b82ebde31e2aca2db92 Mon Sep 17 00:00:00 2001 From: Kyomotoi Date: Sat, 5 Feb 2022 00:47:52 +0800 Subject: =?UTF-8?q?=F0=9F=9A=91=EF=B8=8F=F0=9F=94=92=EF=B8=8F=F0=9F=94=A7?= =?UTF-8?q?=20=E5=A4=A7=E5=9E=8B=E4=BF=AE=E5=A4=8D=E5=B7=A5=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 针对传回消息不同适配、外置限制改为nb内置限制 --- ATRI/plugins/funny/__init__.py | 35 ++++++++--------------------------- 1 file changed, 8 insertions(+), 27 deletions(-) (limited to 'ATRI/plugins/funny') diff --git a/ATRI/plugins/funny/__init__.py b/ATRI/plugins/funny/__init__.py index 8173f3b..5b158b2 100644 --- a/ATRI/plugins/funny/__init__.py +++ b/ATRI/plugins/funny/__init__.py @@ -3,8 +3,8 @@ from random import choice, randint from nonebot.matcher import Matcher from nonebot.params import ArgPlainText, CommandArg from nonebot.adapters.onebot.v11 import Bot, MessageEvent, GroupMessageEvent, Message +from nonebot.adapters.onebot.v11.helpers import Cooldown -from ATRI.utils.limit import FreqLimiter, DailyLimiter from .data_source import Funny @@ -29,26 +29,18 @@ async def _me_re_you(bot: Bot, event: MessageEvent): await me_re_you.finish(content) +_fake_flmt_notice = choice(["慢...慢一..点❤", "冷静1下", "歇会歇会~~"]) + + fake_msg = Funny().on_command( "/fakemsg", "伪造假转发内容,格式:qq-name-content\n可构造多条,使用空格隔开,仅限群聊" ) -_fake_daliy_max = DailyLimiter(3) -_fake_max_notice = "不能继续下去了!明早再来" -_fake_flmt = FreqLimiter(60) -_fake_flmt_notice = choice(["慢...慢一..点❤", "冷静1下", "歇会歇会~~"]) - -@fake_msg.handle() +@fake_msg.handle([Cooldown(3600, prompt=_fake_flmt_notice)]) async def _ready_fake( - matcher: Matcher, event: GroupMessageEvent, args: Message = CommandArg() + matcher: Matcher, args: Message = CommandArg() ): - user_id = event.get_user_id() - if not _fake_daliy_max.check(user_id): - await fake_msg.finish(_fake_max_notice) - if not _fake_flmt.check(user_id): - await fake_msg.finish(_fake_flmt_notice) - msg = args.extract_plain_text() if msg: matcher.set_arg("content", args) @@ -59,7 +51,6 @@ async def _deal_fake( bot: Bot, event: GroupMessageEvent, content: str = ArgPlainText("content") ): group_id = event.group_id - user_id = event.get_user_id() try: node = Funny().fake_msg(content) except Exception: @@ -70,23 +61,13 @@ async def _deal_fake( except Exception: await fake_msg.finish("构造失败惹...可能是被制裁了(") - _fake_flmt.start_cd(user_id) - _fake_daliy_max.increase(user_id) - eat_what = Funny().on_regex(r"大?[今明后]天(.*?)吃[什啥]么?", "我来决定你吃什么!") -_eat_flmt = FreqLimiter(15) - - -@eat_what.handle() -async def _eat_what(bot: Bot, event: MessageEvent): - user_id = event.get_user_id() - if not _eat_flmt.check(user_id): - return +@eat_what.handle([Cooldown(15, prompt="慢慢吃,不要贪心哦!")]) +async def _eat_what(event: MessageEvent): msg = str(event.get_message()) user_name = event.sender.nickname or "裙友" eat = await Funny().eat_what(user_name, msg) - _eat_flmt.start_cd(user_id) await eat_what.finish(Message(eat)) -- cgit v1.2.3