From ae7ea2d379ec7fb0edb8e333145bb141106a2fd2 Mon Sep 17 00:00:00 2001 From: Kyomotoi <1172294279@qq.com> Date: Sat, 20 Feb 2021 08:19:41 +0800 Subject: =?UTF-8?q?=E2=9C=A8=20=E6=9B=B4=E6=96=B0=E6=8F=92=E4=BB=B6?= =?UTF-8?q?=EF=BC=8C=E5=9F=8B=E4=B8=8Bbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 更新插件: - call-owner - code-runner - status - anime-search - tex(待修复) - 埋下bug: - service中limit作为机器人服务中的开关,目前写入文件亟待修复 --- ATRI/plugins/call-owner.py | 63 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 ATRI/plugins/call-owner.py (limited to 'ATRI/plugins/call-owner.py') diff --git a/ATRI/plugins/call-owner.py b/ATRI/plugins/call-owner.py new file mode 100644 index 0000000..f6174f5 --- /dev/null +++ b/ATRI/plugins/call-owner.py @@ -0,0 +1,63 @@ +from nonebot.permission import SUPERUSER +from nonebot.plugin import on_command +from nonebot.typing import T_State +from nonebot.adapters.cqhttp import ( + Bot, + MessageEvent, + GroupMessageEvent +) + +from ATRI.rule import is_in_banlist +from ATRI.config import nonebot_config +from ATRI.utils.apscheduler import scheduler +from ATRI.utils.list import count_list + + +repo_list = [] + + +repo = on_command("来杯红茶", rule=is_in_banlist()) + +@repo.handle() +async def _repo(bot: Bot, event: MessageEvent, state: T_State) -> None: + msg = str(event.message).strip() + if msg: + state["msg"] = msg + +@repo.got("msg", prompt="请告诉咱需要反馈的内容~!") +async def _repo_(bot: Bot, event: MessageEvent, state: T_State) -> None: + global repo_list + msg = state["msg"] + user = event.user_id + + if count_list(repo_list, user) == 5: + await repo.finish("吾辈已经喝了五杯红茶啦!明天再来吧。") + + repo_list.append(user) + + for sup in nonebot_config["superusers"]: + await bot.send_private_msg( + user_id=sup, + message=f"来自用户[{user}]反馈:\n{msg}" + ) + + await repo.finish("吾辈的心愿已由咱转告给咱的维护者了~!") + + +@scheduler.scheduled_job( + "cron", + hour=0, + misfire_grace_time=60 +) +async def _() -> None: + global repo_list + repo_list = [] + + +reset_repo = on_command("重置红茶", permission=SUPERUSER) + +@reset_repo.handle() +async def _reset_repo(bot: Bot, event: MessageEvent) -> None: + global repo_list + repo_list = [] + await reset_repo.finish("红茶重置完成~!") -- cgit v1.2.3