diff options
Diffstat (limited to 'ATRI/plugins/call-owner.py')
-rw-r--r-- | ATRI/plugins/call-owner.py | 63 |
1 files changed, 63 insertions, 0 deletions
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()) + +async def _repo(bot: Bot, event: MessageEvent, state: T_State) -> None: + msg = str(event.message).strip() + if msg: + state["msg"] = msg + [email protected]("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("吾辈的心愿已由咱转告给咱的维护者了~!") + + [email protected]_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("红茶重置完成~!") |