summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ATRI/plugins/manage/__init__.py46
-rw-r--r--ATRI/plugins/manage/data_source.py8
2 files changed, 33 insertions, 21 deletions
diff --git a/ATRI/plugins/manage/__init__.py b/ATRI/plugins/manage/__init__.py
index 672ba97..e6fc4a9 100644
--- a/ATRI/plugins/manage/__init__.py
+++ b/ATRI/plugins/manage/__init__.py
@@ -6,10 +6,11 @@ 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 ATRI.rule import to_bot
from .data_source import Manage
-block_user = Manage().on_command("封禁用户", "对目标用户进行封禁", permission=SUPERUSER)
+block_user = Manage().on_command("封禁用户", "对目标用户进行封禁")
@block_user.handle()
@@ -32,7 +33,7 @@ async def _deal_block_user(user_id: str = ArgPlainText("block_user")):
await block_user.finish(f"用户 {user_id} 危!")
-unblock_user = Manage().on_command("解封用户", "对目标用户进行解封", permission=SUPERUSER)
+unblock_user = Manage().on_command("解封用户", "对目标用户进行解封")
@unblock_user.handle()
@@ -55,7 +56,7 @@ async def _deal_unblock_user(user_id: str = ArgPlainText("unblock_user")):
await unblock_user.finish(f"好欸!{user_id} 重获新生!")
-block_group = Manage().on_command("封禁群", "对目标群进行封禁", permission=SUPERUSER)
+block_group = Manage().on_command("封禁群", "对目标群进行封禁")
@block_group.handle()
@@ -78,7 +79,7 @@ async def _deal_block_group(group_id: str = ArgPlainText("block_group")):
await block_group.finish(f"群 {group_id} 危!")
-unblock_group = Manage().on_command("解封群", "对目标群进行解封", permission=SUPERUSER)
+unblock_group = Manage().on_command("解封群", "对目标群进行解封")
@unblock_group.handle()
@@ -101,7 +102,7 @@ async def _deal_unblock_group(group_id: str = ArgPlainText("unblock_group")):
await unblock_group.finish(f"好欸!群 {group_id} 重获新生!")
-global_block_service = Manage().on_command("全局禁用", "全局禁用某服务", permission=SUPERUSER)
+global_block_service = Manage().on_command("全局禁用", "全局禁用某服务")
@global_block_service.handle()
@@ -126,7 +127,7 @@ async def _deal_global_block_service(
await global_block_service.finish(f"服务 {block_service} 已被禁用")
-global_unblock_service = Manage().on_command("全局启用", "全局启用某服务", permission=SUPERUSER)
+global_unblock_service = Manage().on_command("全局启用", "全局启用某服务")
@global_unblock_service.handle()
@@ -153,9 +154,7 @@ async def _deal_global_unblock_service(
await global_unblock_service.finish(f"服务 {unblock_service} 已启用")
-user_block_service = Manage().on_regex(
- r"对用户(.*?)禁用(.*)", "针对某一用户禁用服务", permission=SUPERUSER
-)
+user_block_service = Manage().on_regex(r"对用户(.*?)禁用(.*)", "针对某一用户(qid)禁用服务")
@user_block_service.handle()
@@ -172,9 +171,7 @@ async def _user_block_service(event: MessageEvent):
await user_block_service.finish(f"完成~已禁止用户 {aim_user} 使用 {aim_service}")
-user_unblock_service = Manage().on_regex(
- r"对用户(.*?)启用(.*)", "针对某一用户启用服务", permission=SUPERUSER
-)
+user_unblock_service = Manage().on_regex(r"对用户(.*?)启用(.*)", "针对某一用户(qid)启用服务")
@user_unblock_service.handle()
@@ -249,7 +246,7 @@ async def _deal_group_unblock_service(
await group_unblock_service.finish(f"完成!~已允许本群使用服务:{aim_service}")
-get_friend_add_list = Manage().on_command("获取好友申请", "获取好友申请列表", permission=SUPERUSER)
+get_friend_add_list = Manage().on_command("获取好友申请", "获取好友申请列表")
@get_friend_add_list.handle()
@@ -268,7 +265,7 @@ async def _get_friend_add_list():
await get_friend_add_list.finish(msg1)
-approve_friend_add = Manage().on_command("同意好友", "同意好友申请", permission=SUPERUSER)
+approve_friend_add = Manage().on_command("同意好友", "同意好友申请")
@approve_friend_add.handle()
@@ -298,7 +295,7 @@ async def _deal_approve_friend_add(
await approve_friend_add.finish("好欸!申请已通过!")
-refuse_friend_add = Manage().on_command("拒绝好友", "拒绝好友申请", permission=SUPERUSER)
+refuse_friend_add = Manage().on_command("拒绝好友", "拒绝好友申请")
@refuse_friend_add.handle()
@@ -328,7 +325,7 @@ async def _deal_refuse_friend_add(
await refuse_friend_add.finish("已拒绝!")
-get_group_invite_list = Manage().on_command("获取邀请列表", "获取群邀请列表", permission=SUPERUSER)
+get_group_invite_list = Manage().on_command("获取邀请列表", "获取群邀请列表")
@get_group_invite_list.handle()
@@ -347,7 +344,7 @@ async def _get_group_invite_list():
await get_friend_add_list.finish(msg1)
-approve_group_invite = Manage().on_command("同意邀请", "同意群聊邀请", permission=SUPERUSER)
+approve_group_invite = Manage().on_command("同意邀请", "同意群聊邀请")
@approve_group_invite.handle()
@@ -379,7 +376,7 @@ async def _deal_approve_group_invite(
await approve_group_invite.finish("好欸!申请已通过!")
-refuse_group_invite = Manage().on_command("拒绝邀请", "拒绝群聊邀请", permission=SUPERUSER)
+refuse_group_invite = Manage().on_command("拒绝邀请", "拒绝群聊邀请")
@refuse_group_invite.handle()
@@ -429,3 +426,16 @@ async def _(track_code: str = ArgPlainText("track_code")):
repo = await Manage().track_error(track_code)
await track_error.finish(repo)
+
+
+recall_msg = Manage().on_command("撤回", "撤回bot已发送的信息", to_bot())
+
+
+@recall_msg.handle()
+async def _recall_msg(bot: Bot, event: MessageEvent):
+ try:
+ recall_id = event.reply.message_id # type: ignore
+ except Exception:
+ await recall_msg.finish("无法获取必要信息...没法撤回惹...")
+
+ await bot.delete_msg(message_id=recall_id)
diff --git a/ATRI/plugins/manage/data_source.py b/ATRI/plugins/manage/data_source.py
index 92dcc42..35462f0 100644
--- a/ATRI/plugins/manage/data_source.py
+++ b/ATRI/plugins/manage/data_source.py
@@ -2,12 +2,14 @@ import json
from pathlib import Path
from datetime import datetime
+from nonebot.permission import SUPERUSER
+
from ATRI.service import Service, ServiceTools
from ATRI.exceptions import load_error
-MANAGE_DIR = Path(".") / "data" / "database" / "manege"
-ESSENTIAL_DIR = Path(".") / "data" / "database" / "essential"
+MANAGE_DIR = Path(".") / "data" / "plugins" / "manege"
+ESSENTIAL_DIR = Path(".") / "data" / "plugins" / "essential"
MANAGE_DIR.mkdir(parents=True, exist_ok=True)
ESSENTIAL_DIR.mkdir(parents=True, exist_ok=True)
@@ -21,7 +23,7 @@ Time: {time}
class Manage(Service):
def __init__(self):
- Service.__init__(self, "管理", "控制bot的各项服务", True)
+ Service.__init__(self, "管理", "控制bot的各项服务", True, permission=SUPERUSER)
@staticmethod
def _load_block_user_list() -> dict: