summaryrefslogtreecommitdiff
path: root/ATRI/plugins/manage
diff options
context:
space:
mode:
authorKyomotoi <[email protected]>2022-10-17 23:46:00 +0800
committerKyomotoi <[email protected]>2022-10-17 23:46:00 +0800
commita8afa113cfef80237031916e20df44bc11df2270 (patch)
treec020a8eff1f024b1aa8ebc3fc4560246dd22fe06 /ATRI/plugins/manage
parent4adf588a06b1fb32c6e459dc6248b183313a241e (diff)
downloadATRI-a8afa113cfef80237031916e20df44bc11df2270.tar.gz
ATRI-a8afa113cfef80237031916e20df44bc11df2270.tar.bz2
ATRI-a8afa113cfef80237031916e20df44bc11df2270.zip
♻️ 跟进 service 的变化
Diffstat (limited to 'ATRI/plugins/manage')
-rw-r--r--ATRI/plugins/manage/__init__.py48
-rw-r--r--ATRI/plugins/manage/data_source.py24
2 files changed, 37 insertions, 35 deletions
diff --git a/ATRI/plugins/manage/__init__.py b/ATRI/plugins/manage/__init__.py
index e6fc4a9..04d1da0 100644
--- a/ATRI/plugins/manage/__init__.py
+++ b/ATRI/plugins/manage/__init__.py
@@ -1,16 +1,20 @@
import re
-from nonebot.permission import SUPERUSER
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 ATRI.rule import to_bot
+from ATRI.service import Service
+from ATRI.permission import MASTER, ADMIN
+
from .data_source import Manage
-block_user = Manage().on_command("封禁用户", "对目标用户进行封禁")
+plugin = Service("管理").document("控制bot的各项服务").only_admin(True).permission(MASTER)
+
+
+block_user = plugin.on_command("封禁用户", "对目标用户进行封禁")
@block_user.handle()
@@ -33,7 +37,7 @@ async def _deal_block_user(user_id: str = ArgPlainText("block_user")):
await block_user.finish(f"用户 {user_id} 危!")
-unblock_user = Manage().on_command("解封用户", "对目标用户进行解封")
+unblock_user = plugin.on_command("解封用户", "对目标用户进行解封")
@unblock_user.handle()
@@ -56,7 +60,7 @@ async def _deal_unblock_user(user_id: str = ArgPlainText("unblock_user")):
await unblock_user.finish(f"好欸!{user_id} 重获新生!")
-block_group = Manage().on_command("封禁群", "对目标群进行封禁")
+block_group = plugin.on_command("封禁群", "对目标群进行封禁")
@block_group.handle()
@@ -79,7 +83,7 @@ async def _deal_block_group(group_id: str = ArgPlainText("block_group")):
await block_group.finish(f"群 {group_id} 危!")
-unblock_group = Manage().on_command("解封群", "对目标群进行解封")
+unblock_group = plugin.on_command("解封群", "对目标群进行解封")
@unblock_group.handle()
@@ -102,7 +106,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("全局禁用", "全局禁用某服务")
+global_block_service = plugin.on_command("全局禁用", "全局禁用某服务")
@global_block_service.handle()
@@ -127,7 +131,7 @@ async def _deal_global_block_service(
await global_block_service.finish(f"服务 {block_service} 已被禁用")
-global_unblock_service = Manage().on_command("全局启用", "全局启用某服务")
+global_unblock_service = plugin.on_command("全局启用", "全局启用某服务")
@global_unblock_service.handle()
@@ -154,7 +158,7 @@ async def _deal_global_unblock_service(
await global_unblock_service.finish(f"服务 {unblock_service} 已启用")
-user_block_service = Manage().on_regex(r"对用户(.*?)禁用(.*)", "针对某一用户(qid)禁用服务")
+user_block_service = plugin.on_regex(r"对用户(.*?)禁用(.*)", "针对某一用户(qid)禁用服务")
@user_block_service.handle()
@@ -171,7 +175,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"对用户(.*?)启用(.*)", "针对某一用户(qid)启用服务")
+user_unblock_service = plugin.on_regex(r"对用户(.*?)启用(.*)", "针对某一用户(qid)启用服务")
@user_unblock_service.handle()
@@ -188,8 +192,8 @@ async def _user_unblock_service(event: MessageEvent):
await user_unblock_service.finish(f"完成~已允许用户 {aim_user} 使用 {aim_service}")
-group_block_service = Manage().on_command(
- "禁用", "针对所在群禁用某服务", permission=SUPERUSER | GROUP_OWNER | GROUP_ADMIN
+group_block_service = plugin.on_command(
+ "禁用", "针对所在群禁用某服务", permission=ADMIN
)
@@ -217,8 +221,8 @@ async def _deal_group_block_service(
await group_block_service.finish(f"完成!~已禁止本群使用服务:{aim_service}")
-group_unblock_service = Manage().on_command(
- "启用", "针对所在群启用某服务", permission=SUPERUSER | GROUP_OWNER | GROUP_ADMIN
+group_unblock_service = plugin.on_command(
+ "启用", "针对所在群启用某服务", permission=ADMIN
)
@@ -246,7 +250,7 @@ async def _deal_group_unblock_service(
await group_unblock_service.finish(f"完成!~已允许本群使用服务:{aim_service}")
-get_friend_add_list = Manage().on_command("获取好友申请", "获取好友申请列表")
+get_friend_add_list = plugin.on_command("获取好友申请", "获取好友申请列表")
@get_friend_add_list.handle()
@@ -265,7 +269,7 @@ async def _get_friend_add_list():
await get_friend_add_list.finish(msg1)
-approve_friend_add = Manage().on_command("同意好友", "同意好友申请")
+approve_friend_add = plugin.on_command("同意好友", "同意好友申请")
@approve_friend_add.handle()
@@ -295,7 +299,7 @@ async def _deal_approve_friend_add(
await approve_friend_add.finish("好欸!申请已通过!")
-refuse_friend_add = Manage().on_command("拒绝好友", "拒绝好友申请")
+refuse_friend_add = plugin.on_command("拒绝好友", "拒绝好友申请")
@refuse_friend_add.handle()
@@ -325,7 +329,7 @@ async def _deal_refuse_friend_add(
await refuse_friend_add.finish("已拒绝!")
-get_group_invite_list = Manage().on_command("获取邀请列表", "获取群邀请列表")
+get_group_invite_list = plugin.on_command("获取邀请列表", "获取群邀请列表")
@get_group_invite_list.handle()
@@ -344,7 +348,7 @@ async def _get_group_invite_list():
await get_friend_add_list.finish(msg1)
-approve_group_invite = Manage().on_command("同意邀请", "同意群聊邀请")
+approve_group_invite = plugin.on_command("同意邀请", "同意群聊邀请")
@approve_group_invite.handle()
@@ -376,7 +380,7 @@ async def _deal_approve_group_invite(
await approve_group_invite.finish("好欸!申请已通过!")
-refuse_group_invite = Manage().on_command("拒绝邀请", "拒绝群聊邀请")
+refuse_group_invite = plugin.on_command("拒绝邀请", "拒绝群聊邀请")
@refuse_group_invite.handle()
@@ -408,7 +412,7 @@ async def _deal_refuse_group_invite(
await refuse_group_invite.finish("已拒绝!")
-track_error = Manage().on_command("追踪", "获取报错信息,传入追踪码", aliases={"/track"})
+track_error = plugin.on_command("追踪", "获取报错信息,传入追踪码", aliases={"/track"})
@track_error.handle()
@@ -428,7 +432,7 @@ async def _(track_code: str = ArgPlainText("track_code")):
await track_error.finish(repo)
-recall_msg = Manage().on_command("撤回", "撤回bot已发送的信息", to_bot())
+recall_msg = plugin.on_command("撤回", "撤回bot已发送的信息", to_bot())
@recall_msg.handle()
diff --git a/ATRI/plugins/manage/data_source.py b/ATRI/plugins/manage/data_source.py
index 35462f0..29e2a69 100644
--- a/ATRI/plugins/manage/data_source.py
+++ b/ATRI/plugins/manage/data_source.py
@@ -2,9 +2,8 @@ import json
from pathlib import Path
from datetime import datetime
-from nonebot.permission import SUPERUSER
-
-from ATRI.service import Service, ServiceTools
+from ATRI.service import ServiceTools
+from ATRI.message import MessageBuilder
from ATRI.exceptions import load_error
@@ -14,17 +13,16 @@ MANAGE_DIR.mkdir(parents=True, exist_ok=True)
ESSENTIAL_DIR.mkdir(parents=True, exist_ok=True)
-TRACK_BACK_FORMAT = """Track ID:{track_id}
-Prompt: {prompt}
-Time: {time}
-{content}
-""".strip()
-
+_TRACK_BACK_FORMAT = (
+ MessageBuilder("Track ID: {track_id}")
+ .text("Prompt: {prompt}")
+ .text("Time: {time}")
+ .text("{content}")
+ .done()
+)
-class Manage(Service):
- def __init__(self):
- Service.__init__(self, "管理", "控制bot的各项服务", True, permission=SUPERUSER)
+class Manage:
@staticmethod
def _load_block_user_list() -> dict:
"""
@@ -269,7 +267,7 @@ class Manage(Service):
time = data.get("time", "ignore")
content = data.get("content", "ignore")
- repo = TRACK_BACK_FORMAT.format(
+ repo = _TRACK_BACK_FORMAT.format(
track_id=track_id, prompt=prompt, time=time, content=content
)
return repo