summaryrefslogtreecommitdiff
path: root/ATRI/plugins/manage
diff options
context:
space:
mode:
authorKyomotoi <[email protected]>2022-02-03 14:36:24 +0800
committerKyomotoi <[email protected]>2022-02-03 14:36:24 +0800
commit3e32ca3964ff8f40e0b491e87f153040f2348fd0 (patch)
treed04d19ba5a25f6f1f6a9c4f8c398d49eb252df3c /ATRI/plugins/manage
parentf5a020d45f7294214bbcd488955b9c391d651a6d (diff)
downloadATRI-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__.py150
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)