From e01b1ed882a01d03b763e9b06b8b5d0608fc5f21 Mon Sep 17 00:00:00 2001 From: Kyomotoi <1172294279@qq.com> Date: Sat, 24 Apr 2021 16:20:19 +0800 Subject: =?UTF-8?q?=E2=9C=A8=F0=9F=94=A5=F0=9F=8E=A8=F0=9F=90=9B=E2=99=BB?= =?UTF-8?q?=EF=B8=8F=F0=9F=93=9D=20=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增:开发工具中ub paste,再也不怕长消息了。 新增:错误处理两项`ReadFileError`、`FormatError` 修复:bot退群显示被自己踢出群 删除:Service部分内容 删除:hitokoto本地库,改用请求 优化:b站小程序抓取 重构:bot管理部分,对命令进行简化 --- ATRI/plugins/manage/modules/block.py | 143 +++++++++++++++++++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100644 ATRI/plugins/manage/modules/block.py (limited to 'ATRI/plugins/manage/modules/block.py') diff --git a/ATRI/plugins/manage/modules/block.py b/ATRI/plugins/manage/modules/block.py new file mode 100644 index 0000000..65a6a86 --- /dev/null +++ b/ATRI/plugins/manage/modules/block.py @@ -0,0 +1,143 @@ +from nonebot.typing import T_State +from nonebot.permission import SUPERUSER +from nonebot.adapters.cqhttp import Bot, MessageEvent + +from ATRI.service import Service as sv + + +__doc__ = """ +封禁用户 +权限组:维护者 +用法: + 封禁用户 QQ号 +""" + +block_user = sv.on_command( + cmd="封禁用户", + docs=__doc__, + permission=SUPERUSER +) + +@block_user.args_parser # type: ignore +async def _block_user_load(bot: Bot, + event: MessageEvent, + state: T_State) -> None: + msg = str(event.message).strip() + cancel = ['算了', '罢了'] + if msg in cancel: + await block_user.finish('好吧...') + if not msg: + await block_user.reject('是谁呢?!GKD!') + else: + state['noob'] = msg + +@block_user.handle() +async def _block_user(bot: Bot, event: MessageEvent, state: T_State) -> None: + noob = state['noob'] + sv.BlockSystem.control_list(True, user=noob) + msg = f"用户[{noob}]已被封禁(;′⌒`)" + await block_user.finish(msg) + + +__doc__ = """ +解封用户 +权限组:维护者 +用法: + 解封用户 QQ号 +""" + +unblock_user = sv.on_command( + cmd="解封用户", + docs=__doc__, + permission=SUPERUSER +) + +@unblock_user.args_parser # type: ignore +async def _unblock_user_load(bot: Bot, + event: MessageEvent, + state: T_State) -> None: + msg = str(event.message).strip() + cancel = ['算了', '罢了'] + if msg in cancel: + await unblock_user.finish('好吧...') + if not msg: + await unblock_user.reject('要原谅谁呢...') + else: + state['forgive'] = msg + +@unblock_user.handle() +async def _unblock_user(bot: Bot, event: MessageEvent, state: T_State) -> None: + forgive = state['forgive'] + sv.BlockSystem.control_list(False, user=forgive) + msg = f"用户[{forgive}]已被解封ヾ(´・ω・`)ノ" + await unblock_user.finish(msg) + + +__doc__ = """ +封禁群 +权限组:维护者 +用法: + 封禁群 群号 +""" + +block_group = sv.on_command( + cmd="封禁群", + docs=__doc__, + permission=SUPERUSER +) + +@block_group.args_parser # type: ignore +async def _block_group_load(bot: Bot, + event: MessageEvent, + state: T_State) -> None: + msg = str(event.message).strip() + cancel = ['算了', '罢了'] + if msg in cancel: + await block_user.finish('好吧...') + if not msg: + await block_user.reject('是哪个群?!GKD!') + else: + state['noob_g'] = msg + +@block_group.handle() +async def _block_group(bot: Bot, event: MessageEvent, state: T_State) -> None: + noob_g = state['noob_g'] + sv.BlockSystem.control_list(True, group=noob_g) + msg = f"群[{noob_g}]已被封禁(;′⌒`)" + await block_user.finish(msg) + + +__doc__ = """ +解封群 +权限组:维护者 +用法: + 解封 群号 +""" + +unblock_group = sv.on_command( + cmd="解封群", + docs=__doc__, + permission=SUPERUSER +) + +@unblock_group.args_parser # type: ignore +async def _unblock_group_load(bot: Bot, + event: MessageEvent, + state: T_State) -> None: + msg = str(event.message).strip() + cancel = ['算了', '罢了'] + if msg in cancel: + await block_user.finish('好吧...') + if not msg: + await block_user.reject('要原谅哪个群呢...') + else: + state['forgive_g'] = msg + +@unblock_group.handle() +async def _unblock_group(bot: Bot, + event: MessageEvent, + state: T_State) -> None: + forgive_g = state['forgive_g'] + sv.BlockSystem.control_list(False, group=forgive_g) + msg = f"群[{forgive_g}]已被解封ヾ(´・ω・`)ノ" + await unblock_user.finish(msg) -- cgit v1.2.3