diff options
author | Kyomotoi <[email protected]> | 2022-02-03 14:36:24 +0800 |
---|---|---|
committer | Kyomotoi <[email protected]> | 2022-02-03 14:36:24 +0800 |
commit | 3e32ca3964ff8f40e0b491e87f153040f2348fd0 (patch) | |
tree | d04d19ba5a25f6f1f6a9c4f8c398d49eb252df3c /ATRI/plugins/manage | |
parent | f5a020d45f7294214bbcd488955b9c391d651a6d (diff) | |
download | ATRI-3e32ca3964ff8f40e0b491e87f153040f2348fd0.tar.gz ATRI-3e32ca3964ff8f40e0b491e87f153040f2348fd0.tar.bz2 ATRI-3e32ca3964ff8f40e0b491e87f153040f2348fd0.zip |
🔖 更新版本:
更新记录请参考文档: atri.kyomotoi.moe/changelog/overview/
Diffstat (limited to 'ATRI/plugins/manage')
-rw-r--r-- | ATRI/plugins/manage/__init__.py | 150 |
1 files changed, 82 insertions, 68 deletions
diff --git a/ATRI/plugins/manage/__init__.py b/ATRI/plugins/manage/__init__.py index 77692fd..62ed378 100644 --- a/ATRI/plugins/manage/__init__.py +++ b/ATRI/plugins/manage/__init__.py @@ -1,25 +1,26 @@ import re -from nonebot.typing import T_State from nonebot.permission import SUPERUSER -from nonebot.adapters.cqhttp import Bot, MessageEvent, GroupMessageEvent -from nonebot.adapters.cqhttp.permission import GROUP_OWNER, GROUP_ADMIN +from nonebot.matcher import Matcher +from nonebot.params import ArgPlainText, CommandArg +from nonebot.adapters.onebot.v11 import Bot, Message, MessageEvent, GroupMessageEvent +from nonebot.adapters.onebot.v11 import GROUP_OWNER, GROUP_ADMIN from .data_source import Manage + block_user = Manage().on_command("封禁用户", "对目标用户进行封禁", permission=SUPERUSER) @block_user.handle() -async def _ready_block_user(bot: Bot, event: MessageEvent, state: T_State): - msg = str(event.message).strip() +async def _ready_block_user(matcher: Matcher, args: Message = CommandArg()): + msg = args.extract_plain_text() if msg: - state["block_user"] = msg + matcher.set_arg("block_user", args) @block_user.got("block_user", "哪位?GKD!") -async def _deal_block_user(bot: Bot, event: MessageEvent, state: T_State): - user_id = state["block_user"] +async def _deal_block_user(user_id: str = ArgPlainText("block_user")): quit_list = ["算了", "罢了"] if user_id in quit_list: await block_user.finish("...看来有人逃过一劫呢") @@ -35,15 +36,14 @@ unblock_user = Manage().on_command("解封用户", "对目标用户进行解封" @unblock_user.handle() -async def _ready_unblock_user(bot: Bot, event: MessageEvent, state: T_State): - msg = str(event.message).strip() +async def _ready_unblock_user(matcher: Matcher, args: Message = CommandArg()): + msg = args.extract_plain_text() if msg: - state["unblock_user"] = msg + matcher.set_arg("unblock_user", args) @unblock_user.got("unblock_user", "哪位?GKD!") -async def _deal_unblock_user(bot: Bot, event: MessageEvent, state: T_State): - user_id = state["unblock_user"] +async def _deal_unblock_user(user_id: str = ArgPlainText("unblock_user")): quit_list = ["算了", "罢了"] if user_id in quit_list: await unblock_user.finish("...有人又得继续在小黑屋呆一阵子了") @@ -59,15 +59,14 @@ block_group = Manage().on_command("封禁群", "对目标群进行封禁", permi @block_group.handle() -async def _ready_block_group(bot: Bot, event: MessageEvent, state: T_State): - msg = str(event.message).strip() +async def _ready_block_group(matcher: Matcher, args: Message = CommandArg()): + msg = args.extract_plain_text() if msg: - state["block_group"] = msg + matcher.set_arg("block_group", args) @block_group.got("block_group", "哪个群?GKD!") -async def _deal_block_group(bot: Bot, event: MessageEvent, state: T_State): - group_id = state["block_group"] +async def _deal_block_group(group_id: str = ArgPlainText("block_group")): quit_list = ["算了", "罢了"] if group_id in quit_list: await block_group.finish("...看来有一群逃过一劫呢") @@ -83,15 +82,14 @@ unblock_group = Manage().on_command("解封群", "对目标群进行解封", per @unblock_group.handle() -async def _ready_unblock_group(bot: Bot, event: MessageEvent, state: T_State): - msg = str(event.message).strip() +async def _ready_unblock_group(matcher: Matcher, args: Message = CommandArg()): + msg = args.extract_plain_text() if msg: - state["unblock_group"] = msg + matcher.set_arg("unblock_group", args) @unblock_group.got("unblock_group", "哪个群?GKD!") -async def _deal_unblock_group(bot: Bot, event: MessageEvent, state: T_State): - group_id = state["unblock_group"] +async def _deal_unblock_group(group_id: str = ArgPlainText("unblock_group")): quit_list = ["算了", "罢了"] if group_id in quit_list: await unblock_group.finish("...有一群又得继续在小黑屋呆一阵子了") @@ -107,15 +105,16 @@ global_block_service = Manage().on_command("全局禁用", "全局禁用某服� @global_block_service.handle() -async def _ready_block_service(bot: Bot, event: MessageEvent, state: T_State): - msg = str(event.message).strip() +async def _ready_block_service(matcher: Matcher, args: Message = CommandArg()): + msg = args.extract_plain_text() if msg: - state["global_block_service"] = msg + matcher.set_arg("global_block_service", args) @global_block_service.got("global_block_service", "阿...是哪个服务呢") -async def _deal_global_block_service(bot: Bot, event: MessageEvent, state: T_State): - block_service = state["global_block_service"] +async def _deal_global_block_service( + block_service: str = ArgPlainText("global_block_service"), +): quit_list = ["算了", "罢了"] if block_service in quit_list: await global_block_service.finish("好吧...") @@ -131,15 +130,18 @@ global_unblock_service = Manage().on_command("全局启用", "全局启用某服 @global_unblock_service.handle() -async def _ready_unblock_service(bot: Bot, event: MessageEvent, state: T_State): - msg = str(event.message).strip() +async def _ready_unblock_service( + matcher: Matcher, event: MessageEvent, args: Message = CommandArg() +): + msg = args.extract_plain_text() if msg: - state["global_unblock_service"] = msg + matcher.set_arg("global_unblock_service", args) @global_unblock_service.got("global_unblock_service", "阿...是哪个服务呢") -async def _deal_global_unblock_service(bot: Bot, event: MessageEvent, state: T_State): - unblock_service = state["global_unblock_service"] +async def _deal_global_unblock_service( + unblock_service: str = ArgPlainText("global_unblock_service"), +): quit_list = ["算了", "罢了"] if unblock_service in quit_list: await global_unblock_service.finish("好吧...") @@ -157,7 +159,7 @@ user_block_service = Manage().on_regex( @user_block_service.handle() -async def _user_block_service(bot: Bot, event: MessageEvent): +async def _user_block_service(event: MessageEvent): msg = str(event.message).strip() pattern = r"对用户(.*?)禁用(.*)" reg = re.findall(pattern, msg) @@ -176,7 +178,7 @@ user_unblock_service = Manage().on_regex( @user_unblock_service.handle() -async def _user_unblock_service(bot: Bot, event: MessageEvent): +async def _user_unblock_service(event: MessageEvent): msg = str(event.message).strip() pattern = r"对用户(.*?)启用(.*)" reg = re.findall(pattern, msg) @@ -196,16 +198,17 @@ group_block_service = Manage().on_command( @group_block_service.handle() async def _ready_group_block_service( - bot: Bot, event: GroupMessageEvent, state: T_State + matcher: Matcher, event: GroupMessageEvent, args: Message = CommandArg() ): msg = str(event.message).strip() if msg: - state["group_block_service"] = msg + matcher.set_arg("group_block_service", args) @group_block_service.got("group_block_service", "阿...是哪个服务呢") -async def _deal_group_block_service(bot: Bot, event: GroupMessageEvent, state: T_State): - aim_service = state["group_block_service"] +async def _deal_group_block_service( + event: GroupMessageEvent, aim_service: str = ArgPlainText("group_block_service") +): group_id = str(event.group_id) quit_list = ["算了", "罢了"] if aim_service in quit_list: @@ -224,18 +227,17 @@ group_unblock_service = Manage().on_command( @group_unblock_service.handle() async def _ready_group_unblock_service( - bot: Bot, event: GroupMessageEvent, state: T_State + matcher: Matcher, event: GroupMessageEvent, args: Message = CommandArg() ): - msg = str(event.message).strip() + msg = args.extract_plain_text() if msg: - state["group_unblock_service"] = msg + matcher.set_arg("group_unblock_service", args) @group_unblock_service.got("group_unblock_service", "阿...是哪个服务呢") async def _deal_group_unblock_service( - bot: Bot, event: GroupMessageEvent, state: T_State + event: GroupMessageEvent, aim_service: str = ArgPlainText("group_unblock_service") ): - aim_service = state["group_unblock_service"] group_id = str(event.group_id) quit_list = ["算了", "罢了"] if aim_service in quit_list: @@ -251,7 +253,7 @@ get_friend_add_list = Manage().on_command("获取好友申请", "获取好友申 @get_friend_add_list.handle() -async def _get_friend_add_list(bot: Bot, event: MessageEvent): +async def _get_friend_add_list(): data = Manage().load_friend_apply_list() temp_list = list() for i in data: @@ -270,15 +272,18 @@ approve_friend_add = Manage().on_command("同意好友", "同意好友申请", p @approve_friend_add.handle() -async def _ready_approve_friend_add(bot: Bot, event: MessageEvent, state: T_State): - msg = str(event.message).strip() +async def _ready_approve_friend_add( + matcher: Matcher, event: MessageEvent, args: Message = CommandArg() +): + msg = args.extract_plain_text() if msg: - state["approve_friend_add"] = msg + matcher.set_arg("approve_friend_add", args) @approve_friend_add.got("approve_friend_add", "申请码GKD!") -async def _deal_approve_friend_add(bot: Bot, event: MessageEvent, state: T_State): - apply_code = state["approve_friend_add"] +async def _deal_approve_friend_add( + bot: Bot, apply_code: str = ArgPlainText("approve_friend_add") +): quit_list = ["算了", "罢了"] if apply_code in quit_list: await approve_friend_add.finish("好吧...") @@ -297,15 +302,18 @@ refuse_friend_add = Manage().on_command("拒绝好友", "拒绝好友申请", pe @refuse_friend_add.handle() -async def _ready_refuse_friend_add(bot: Bot, event: MessageEvent, state: T_State): - msg = str(event.message).strip() +async def _ready_refuse_friend_add( + matcher: Matcher, event: MessageEvent, args: Message = CommandArg() +): + msg = args.extract_plain_text() if msg: - state["refuse_friend_add"] = msg + matcher.set_arg("refuse_friend_add", args) @refuse_friend_add.got("refuse_friend_add", "申请码GKD!") -async def _deal_refuse_friend_add(bot: Bot, event: MessageEvent, state: T_State): - apply_code = state["refuse_friend_add"] +async def _deal_refuse_friend_add( + bot: Bot, apply_code: str = ArgPlainText("refuse_friend_add") +): quit_list = ["算了", "罢了"] if apply_code in quit_list: await refuse_friend_add.finish("好吧...") @@ -324,7 +332,7 @@ get_group_invite_list = Manage().on_command("获取邀请列表", "获取群邀� @get_group_invite_list.handle() -async def _get_group_invite_list(bot: Bot, event: MessageEvent): +async def _get_group_invite_list(): data = Manage().load_invite_apply_list() temp_list = list() for i in data: @@ -343,15 +351,18 @@ approve_group_invite = Manage().on_command("同意邀请", "同意群聊邀请", @approve_group_invite.handle() -async def _ready_approve_group_invite(bot: Bot, event: MessageEvent, state: T_State): - msg = str(event.message).strip() +async def _ready_approve_group_invite( + matcher: Matcher, event: MessageEvent, args: Message = CommandArg() +): + msg = args.extract_plain_text() if msg: - state["approve_group_invite"] = msg + matcher.set_arg("approve_group_invite", args) @approve_group_invite.got("approve_group_invite", "申请码GKD!") -async def _deal_approve_group_invite(bot: Bot, event: MessageEvent, state: T_State): - apply_code = state["approve_group_invite"] +async def _deal_approve_group_invite( + bot: Bot, apply_code: str = ArgPlainText("approve_group_invite") +): quit_list = ["算了", "罢了"] if apply_code in quit_list: await approve_group_invite.finish("好吧...") @@ -372,15 +383,18 @@ refuse_group_invite = Manage().on_command("拒绝邀请", "拒绝群聊邀请", @refuse_group_invite.handle() -async def _ready_refuse_group_invite(bot: Bot, event: MessageEvent, state: T_State): - msg = str(event.message).strip() +async def _ready_refuse_group_invite( + matcher: Matcher, event: MessageEvent, args: Message = CommandArg() +): + msg = args.extract_plain_text() if msg: - state["refuse_group_invite"] = msg + matcher.set_arg("refuse_group_invite", args) @refuse_group_invite.got("refuse_group_invite", "申请码GKD!") -async def _deal_refuse_group_invite(bot: Bot, event: MessageEvent, state: T_State): - apply_code = state["refuse_group_invite"] +async def _deal_refuse_group_invite( + bot: Bot, apply_code: str = ArgPlainText("refuse_group_invite") +): quit_list = ["算了", "罢了"] if apply_code in quit_list: await refuse_group_invite.finish("好吧...") @@ -390,7 +404,7 @@ async def _deal_refuse_group_invite(bot: Bot, event: MessageEvent, state: T_Stat flag=apply_code, sub_type="invite", approve=False ) except BaseException: - await refuse_group_invite.finish("拒绝失败...尝试下手动?") + await refuse_group_invite.finish("拒绝失败...(可能是小群免验证)尝试下手动?") data = Manage().load_invite_apply_list() data.pop(apply_code) Manage().save_invite_apply_list(data) @@ -401,7 +415,7 @@ track_error = Manage().on_command("追踪", "获取报错信息,传入追踪� @track_error.handle() -async def _track_error(bot: Bot, event: MessageEvent): +async def _track_error(event: MessageEvent): track_id = str(event.message).strip() repo = await Manage().track_error(track_id) await track_error.finish(repo) |