diff options
author | Kyomotoi <[email protected]> | 2021-04-24 16:20:19 +0800 |
---|---|---|
committer | Kyomotoi <[email protected]> | 2021-04-24 16:20:19 +0800 |
commit | e01b1ed882a01d03b763e9b06b8b5d0608fc5f21 (patch) | |
tree | a2226a4c1c505f66d5226a1ddae02038ad92a046 /ATRI/plugins/manage/modules/block.py | |
parent | 0678347859176671d5ff11852f339336a595e2f5 (diff) | |
download | ATRI-e01b1ed882a01d03b763e9b06b8b5d0608fc5f21.tar.gz ATRI-e01b1ed882a01d03b763e9b06b8b5d0608fc5f21.tar.bz2 ATRI-e01b1ed882a01d03b763e9b06b8b5d0608fc5f21.zip |
✨🔥🎨🐛♻️📝 更新
新增:开发工具中ub paste,再也不怕长消息了。
新增:错误处理两项`ReadFileError`、`FormatError`
修复:bot退群显示被自己踢出群
删除:Service部分内容
删除:hitokoto本地库,改用请求
优化:b站小程序抓取
重构:bot管理部分,对命令进行简化
Diffstat (limited to 'ATRI/plugins/manage/modules/block.py')
-rw-r--r-- | ATRI/plugins/manage/modules/block.py | 143 |
1 files changed, 143 insertions, 0 deletions
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) |