diff options
author | Kyomotoi <[email protected]> | 2022-10-17 23:46:00 +0800 |
---|---|---|
committer | Kyomotoi <[email protected]> | 2022-10-17 23:46:00 +0800 |
commit | a8afa113cfef80237031916e20df44bc11df2270 (patch) | |
tree | c020a8eff1f024b1aa8ebc3fc4560246dd22fe06 /ATRI/plugins/manage | |
parent | 4adf588a06b1fb32c6e459dc6248b183313a241e (diff) | |
download | ATRI-a8afa113cfef80237031916e20df44bc11df2270.tar.gz ATRI-a8afa113cfef80237031916e20df44bc11df2270.tar.bz2 ATRI-a8afa113cfef80237031916e20df44bc11df2270.zip |
♻️ 跟进 service 的变化
Diffstat (limited to 'ATRI/plugins/manage')
-rw-r--r-- | ATRI/plugins/manage/__init__.py | 48 | ||||
-rw-r--r-- | ATRI/plugins/manage/data_source.py | 24 |
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 |