summaryrefslogtreecommitdiff
path: root/ATRI/plugins/manage
diff options
context:
space:
mode:
authorKyomotoi <[email protected]>2021-07-08 22:09:00 +0800
committerKyomotoi <[email protected]>2021-07-08 22:09:00 +0800
commitbe2747e4d4b820ca0f1f988d3b77a628da26fe7b (patch)
treee1a59dd79ecd973a7d704568dcdc018f1f1b651a /ATRI/plugins/manage
parenta4e1b9d1581d756ef79ad063d1c0bd6b2fd13c1d (diff)
downloadATRI-be2747e4d4b820ca0f1f988d3b77a628da26fe7b.tar.gz
ATRI-be2747e4d4b820ca0f1f988d3b77a628da26fe7b.tar.bz2
ATRI-be2747e4d4b820ca0f1f988d3b77a628da26fe7b.zip
🔖♻️🐛🔧🔥📝 更新版本:YHN-001-A03
🔖 更新版本至:YHN-001-A03 ✨ 新增插件: - 涩图 - 闲聊(文爱 ♻️ 重构: - Service - 所有插件 🐛 修复部分小bug 🔧 暂时移除部分设置 🔥 删除: - 插件:nsfw、wife。日后加回 - 插件 essential 中部分内容 📝 更新README
Diffstat (limited to 'ATRI/plugins/manage')
-rw-r--r--ATRI/plugins/manage/__init__.py7
-rw-r--r--ATRI/plugins/manage/modules/block.py153
-rw-r--r--ATRI/plugins/manage/modules/broadcast.py66
-rw-r--r--ATRI/plugins/manage/modules/debug.py135
-rw-r--r--ATRI/plugins/manage/modules/dormant.py43
-rw-r--r--ATRI/plugins/manage/modules/request.py114
-rw-r--r--ATRI/plugins/manage/modules/service.py179
-rw-r--r--ATRI/plugins/manage/modules/shutdown.py32
8 files changed, 0 insertions, 729 deletions
diff --git a/ATRI/plugins/manage/__init__.py b/ATRI/plugins/manage/__init__.py
deleted file mode 100644
index b316020..0000000
--- a/ATRI/plugins/manage/__init__.py
+++ /dev/null
@@ -1,7 +0,0 @@
-import nonebot
-from pathlib import Path
-
-
-_sub_plugins = set()
-
-_sub_plugins |= nonebot.load_plugins(str((Path(__file__).parent / "modules").resolve()))
diff --git a/ATRI/plugins/manage/modules/block.py b/ATRI/plugins/manage/modules/block.py
deleted file mode 100644
index b439ba1..0000000
--- a/ATRI/plugins/manage/modules/block.py
+++ /dev/null
@@ -1,153 +0,0 @@
-from nonebot.typing import T_State
-from nonebot.permission import SUPERUSER
-from nonebot.adapters.cqhttp import Bot, MessageEvent
-
-from ATRI.service import Service as sv
-
-
-__doc__ = """
-封禁用户
-权限组:维护者
-用法:
- 封禁用户 QQ号
-"""
-
-block_user = sv.on_command(cmd="封禁用户", docs=__doc__, permission=SUPERUSER)
-
-
-@block_user.args_parser # type: ignore
-async def _block_user_load(bot: Bot, event: MessageEvent, state: T_State) -> None:
- msg = str(event.message).strip()
- cancel = ["算了", "罢了"]
- if msg in cancel:
- await block_user.finish("好吧...")
- if not msg:
- await block_user.reject("是谁呢?!GKD!")
- else:
- state["noob"] = msg
-
-
-@block_user.handle()
-async def _block_user(bot: Bot, event: MessageEvent, state: T_State) -> None:
- msg = str(event.message).strip()
- if msg:
- state["noob"] = msg
-
-
-@block_user.got("noob", prompt="是谁呢?!GKD!")
-async def _deal_block_user(bot: Bot, event: MessageEvent, state: T_State) -> None:
- noob = state["noob"]
- sv.BlockSystem.control_list(True, user=noob)
- msg = f"用户[{noob}]已被封禁(;′⌒`)"
- await block_user.finish(msg)
-
-
-__doc__ = """
-解封用户
-权限组:维护者
-用法:
- 解封用户 QQ号
-"""
-
-unblock_user = sv.on_command(cmd="解封用户", docs=__doc__, permission=SUPERUSER)
-
-
-@unblock_user.args_parser # type: ignore
-async def _unblock_user_load(bot: Bot, event: MessageEvent, state: T_State) -> None:
- msg = str(event.message).strip()
- cancel = ["算了", "罢了"]
- if msg in cancel:
- await unblock_user.finish("好吧...")
- if not msg:
- await unblock_user.reject("要原谅谁呢...")
- else:
- state["forgive"] = msg
-
-
-@unblock_user.handle()
-async def _unblock_user(bot: Bot, event: MessageEvent, state: T_State) -> None:
- msg = str(event.message).strip()
- if msg:
- state["forgive"] = msg
-
-
-@unblock_user.got("forgive", prompt="要原谅谁呢...")
-async def _deal_unblock_user(bot: Bot, event: MessageEvent, state: T_State) -> None:
- forgive = state["forgive"]
- sv.BlockSystem.control_list(False, user=forgive)
- msg = f"用户[{forgive}]已被解封ヾ(´・ω・`)ノ"
- await unblock_user.finish(msg)
-
-
-__doc__ = """
-封禁群
-权限组:维护者
-用法:
- 封禁群 群号
-"""
-
-block_group = sv.on_command(cmd="封禁群", docs=__doc__, permission=SUPERUSER)
-
-
-@block_group.args_parser # type: ignore
-async def _block_group_load(bot: Bot, event: MessageEvent, state: T_State) -> None:
- msg = str(event.message).strip()
- cancel = ["算了", "罢了"]
- if msg in cancel:
- await block_user.finish("好吧...")
- if not msg:
- await block_user.reject("是哪个群?!GKD!")
- else:
- state["noob_g"] = msg
-
-
-@block_group.handle()
-async def _block_group(bot: Bot, event: MessageEvent, state: T_State) -> None:
- msg = str(event.message).strip()
- if msg:
- state["noob_g"] = msg
-
-
-@block_group.got("noob_g", prompt="是哪个群?!GKD!")
-async def _deal_block_group(bot: Bot, event: MessageEvent, state: T_State) -> None:
- noob_g = state["noob_g"]
- sv.BlockSystem.control_list(True, group=noob_g)
- msg = f"群[{noob_g}]已被封禁(;′⌒`)"
- await block_user.finish(msg)
-
-
-__doc__ = """
-解封群
-权限组:维护者
-用法:
- 解封 群号
-"""
-
-unblock_group = sv.on_command(cmd="解封群", docs=__doc__, permission=SUPERUSER)
-
-
-@unblock_group.args_parser # type: ignore
-async def _unblock_group_load(bot: Bot, event: MessageEvent, state: T_State) -> None:
- msg = str(event.message).strip()
- cancel = ["算了", "罢了"]
- if msg in cancel:
- await block_user.finish("好吧...")
- if not msg:
- await block_user.reject("要原谅哪个群呢...")
- else:
- state["forgive_g"] = msg
-
-
-@unblock_group.handle()
-async def _unblock_group(bot: Bot, event: MessageEvent, state: T_State) -> None:
- msg = str(event.message).strip()
- if msg:
- state["forgive_g"] = msg
-
-
-@unblock_group.got("forgive_g", prompt="要原谅哪个群呢...")
-async def _deal_unblock_group(bot: Bot, event: MessageEvent, state: T_State) -> None:
- forgive_g = state["forgive_g"]
- sv.BlockSystem.control_list(False, group=forgive_g)
- msg = f"群[{forgive_g}]已被解封ヾ(´・ω・`)ノ"
- await unblock_user.finish(msg)
diff --git a/ATRI/plugins/manage/modules/broadcast.py b/ATRI/plugins/manage/modules/broadcast.py
deleted file mode 100644
index 7f7816d..0000000
--- a/ATRI/plugins/manage/modules/broadcast.py
+++ /dev/null
@@ -1,66 +0,0 @@
-import asyncio
-from random import randint
-
-from nonebot.typing import T_State
-from nonebot.permission import SUPERUSER
-from nonebot.adapters.cqhttp import Bot, MessageEvent
-
-from ATRI.service import Service as sv
-
-
-__doc__ = """
-群发内容
-权限组:维护者
-用法:
- 广播 内容
-"""
-
-broadcast = sv.on_command(cmd="广播", docs=__doc__, permission=SUPERUSER)
-
-
[email protected]_parser # type: ignore
-async def _broadcast_load(bot: Bot, event: MessageEvent, state: T_State) -> None:
- msg = str(event.message)
- quit_list = ["算了", "罢了", "取消"]
- if msg in quit_list:
- await broadcast.finish("好吧...")
- if not msg:
- await broadcast.reject("想群发啥呢0w0")
- else:
- state["msg"] = msg
-
-
-async def _broadcast(bot: Bot, event: MessageEvent, state: T_State) -> None:
- msg = str(event.message).strip()
- if msg:
- state["msg"] = msg
-
-
[email protected]("msg", prompt="请告诉咱需要群发的内容~!")
-async def _deal_broadcast(bot: Bot, event: MessageEvent, state: T_State) -> None:
- msg = state["msg"]
- group_list = await bot.get_group_list()
- succ_list = []
- err_list = []
-
- for group in group_list:
- await asyncio.sleep(randint(0, 2))
- try:
- await bot.send_group_msg(group_id=group["group_id"], message=msg)
- except BaseException:
- err_list.append(group["group_id"])
-
- msg0 = ""
- for i in err_list:
- msg0 += f" {i}\n"
-
- repo_msg = (
- f"推送消息:\n{msg}\n"
- "————————\n"
- f"总共:{len(group_list)}\n"
- f"成功推送:{len(succ_list)}\n"
- f"失败[{len(err_list)}]个:\n"
- ) + msg0
-
- await broadcast.finish(repo_msg)
diff --git a/ATRI/plugins/manage/modules/debug.py b/ATRI/plugins/manage/modules/debug.py
deleted file mode 100644
index fa21c5b..0000000
--- a/ATRI/plugins/manage/modules/debug.py
+++ /dev/null
@@ -1,135 +0,0 @@
-from aiohttp import FormData
-
-from nonebot.typing import T_State
-from nonebot.permission import SUPERUSER
-from nonebot.adapters.cqhttp import Bot, MessageEvent
-
-from ATRI.service import Service as sv
-from ATRI.log import LOGGER_DIR, NOW_TIME
-from ATRI.utils.file import open_file
-from ATRI.utils.ub_paste import paste
-from ATRI.exceptions import load_error
-
-
-level_list = ["info", "warning", "error", "debug"]
-
-
-__doc__ = """
-获取控制台信息
-权限组:维护者
-用法:
- 获取log 等级 行数
-示例:
- 获取log info -20(最新20行)
-"""
-
-get_console = sv.on_command(
- cmd="获取log",
- aliases={"获取LOG", "获取控制台", "获取控制台信息"},
- docs=__doc__,
- permission=SUPERUSER,
-)
-
-
-@get_console.handle()
-async def _get_console(bot: Bot, event: MessageEvent, state: T_State) -> None:
- msg = str(event.message).split(" ")
- if msg:
- state["level"] = msg[0]
- try:
- state["line"] = msg[1]
- except Exception:
- pass
-
-
-@get_console.got("level", prompt="需要获取的等级是?")
-async def _got(bot: Bot, event: MessageEvent, state: T_State) -> None:
- quit_list = ["算了", "罢了", "不了"]
- if state["level"] in quit_list:
- await get_console.finish("好吧...")
-
-
-@get_console.got("line", prompt="需要获取的行数是?")
-async def _deal_get(bot: Bot, event: MessageEvent, state: T_State) -> None:
- level = state["level"]
- line = state["line"]
- repo = str()
-
- path = LOGGER_DIR / f"{level}" / f"{NOW_TIME}.log"
- logs = await open_file(path, "readlines")
-
- try:
- content = logs[int(line) :] # type: ignore
- repo = "\n".join(content).replace("ATRI", "ATRI")
- except IndexError:
- await get_console.finish(f"行数错误...max: {len(logs)}") # type: ignore
-
- data = FormData()
- data.add_field("poster", "ATRI running log")
- data.add_field("syntax", "text")
- data.add_field("expiration", "day")
- data.add_field("content", repo)
-
- msg0 = f"> {event.sender.nickname}\n"
- msg0 = msg0 + f"详细请移步此处~\n{await paste(data)}"
- await track_error.finish(msg0)
-
-
-__doc__ = """
-追踪错误
-权限组:维护者
-用法:
- track 追踪ID
-"""
-
-track_error = sv.on_command(
- cmd="track", aliases={"追踪"}, docs=__doc__, permission=SUPERUSER
-)
-
-
-@track_error.args_parser # type: ignore
-async def _track_error_load(bot: Bot, event: MessageEvent, state: T_State) -> None:
- msg = str(event.message).strip()
- cancel = ["算了", "罢了"]
- if msg in cancel:
- await track_error.finish("好吧...")
- if not msg:
- await track_error.reject("欸?!要开始debug了吗,请提供追踪ID...Ծ‸Ծ")
- else:
- state["track"] = msg
-
-
-@track_error.handle()
-async def _track_error(bot: Bot, event: MessageEvent, state: T_State) -> None:
- msg = str(event.message).strip()
- if msg:
- state["track"] = msg
-
-
-@track_error.got("track", prompt="欸?!要开始debug了吗,请提供追踪ID...Ծ‸Ծ")
-async def _deal_track(bot: Bot, event: MessageEvent, state: T_State) -> None:
- track_id = state["track"]
- data = dict()
-
- try:
- data = load_error(track_id)
- except BaseException:
- await track_error.finish("未发现对应ID呢...(⇀‸↼‶)")
-
- msg = (
- f"ID: [{track_id}]\n"
- f"Time: [{data['time']}]\n"
- f"Prompt: [{data['prompt']}]\n"
- "——————\n"
- f"{data['content']}"
- )
-
- data = FormData()
- data.add_field("poster", track_id)
- data.add_field("syntax", "text")
- data.add_field("expiration", "day")
- data.add_field("content", msg)
-
- msg0 = f"> {event.sender.nickname}\n"
- msg0 = msg0 + f"详细请移步此处~\n{await paste(data)}"
- await track_error.finish(msg0)
diff --git a/ATRI/plugins/manage/modules/dormant.py b/ATRI/plugins/manage/modules/dormant.py
deleted file mode 100644
index cd72d47..0000000
--- a/ATRI/plugins/manage/modules/dormant.py
+++ /dev/null
@@ -1,43 +0,0 @@
-from nonebot.permission import SUPERUSER
-from nonebot.adapters.cqhttp import Bot, MessageEvent
-
-from ATRI.service import Service as sv
-from ATRI.rule import to_bot
-
-
-__doc__ = """
-休眠,不处理任何信息
-权限组:维护者
-用法:
- @ 休眠
-"""
-
-dormant_enabled = sv.on_command(
- cmd="休眠", docs=__doc__, rule=to_bot(), permission=SUPERUSER
-)
-
-
-@dormant_enabled.handle()
-async def _dormant_enabled(bot: Bot, event: MessageEvent) -> None:
- sv.Dormant.control_dormant(True)
- msg = "已进入休眠状态...期间咱不会回应任何人的消息哦..."
- await dormant_enabled.finish(msg)
-
-
-__doc__ = """
-苏醒,开始处理信息
-权限组:维护者
-用法:
- @ 苏醒
-"""
-
-dormant_disabled = sv.on_command(
- cmd="苏醒", docs=__doc__, rule=to_bot(), permission=SUPERUSER
-)
-
-
-@dormant_disabled.handle()
-async def _dormant_disabled(bot: Bot, event: MessageEvent) -> None:
- sv.Dormant.control_dormant(False)
- msg = "唔...早上好...——哇哈哈"
- await dormant_disabled.finish(msg)
diff --git a/ATRI/plugins/manage/modules/request.py b/ATRI/plugins/manage/modules/request.py
deleted file mode 100644
index 26100b1..0000000
--- a/ATRI/plugins/manage/modules/request.py
+++ /dev/null
@@ -1,114 +0,0 @@
-import re
-import json
-from pathlib import Path
-
-from nonebot.permission import SUPERUSER
-from nonebot.adapters.cqhttp import Bot, MessageEvent
-
-from ATRI.service import Service as sv
-from ATRI.exceptions import ReadFileError, FormatError
-
-
-ESSENTIAL_DIR = Path(".") / "ATRI" / "data" / "database" / "essential"
-
-
-__doc__ = """
-查看好友/群申请列表
-权限组:维护者
-用法:
- 查看申请列表
-"""
-
-req_list = sv.on_command(cmd="申请列表", docs=__doc__, permission=SUPERUSER)
-
-
-@req_list.handle()
-async def _req_list(bot: Bot, event: MessageEvent) -> None:
- path_f = ESSENTIAL_DIR / "request_friend.json"
- path_g = ESSENTIAL_DIR / "request_group.json"
- data_f, data_g = dict()
- try:
- data_f = json.loads(path_f.read_bytes())
- except ReadFileError:
- msg_f = "[读取文件失败]"
- try:
- data_g = json.loads(path_g.read_bytes())
- except ReadFileError:
- msg_g = "[读取文件失败]"
-
- msg_f = str()
- for i in data_f.keys():
- msg_f += f"{i} | {data_f[i]['user_id']} | {data_f[i]['comment']}\n"
-
- msg_g = str()
- for i in data_g.keys():
- msg_g += f"{i} | {data_g[i]['sub_type']} | {data_g[i]['user_id']} | {data_g[i]['comment']}\n"
-
- msg = "好友/群申请列表如下:\n" "· 好友:\n" f"{msg_f}" "· 群:\n" f"{msg_g}"
- await req_list.finish(msg)
-
-
-req_deal = sv.on_regex(r"(同意|拒绝)(好友|群)申请", permission=SUPERUSER)
-
-
-@req_deal.handle()
-async def _req_deal(bot: Bot, event: MessageEvent) -> None:
- msg = str(event.message).split(" ")
- arg = re.findall(r"(同意|拒绝)(好友|群)申请", msg[0])[0]
- app = arg[0]
- _type = arg[1]
-
- if not msg[1]:
- await req_deal.finish(f"正确用法!速看\n{app}{_type}申请 (reqid)")
-
- reqid = msg[1]
- if app == "同意":
- if _type == "好友":
- try:
- await bot.set_friend_add_request(flag=reqid, approve=True)
- await req_deal.finish("完成~!已同意申请")
- except FormatError:
- await req_deal.finish("请检查输入的值是否正确——!")
- elif _type == "群":
- path = ESSENTIAL_DIR / "request_group.json"
- data_g = dict()
- try:
- data_g = json.loads(path.read_bytes())
- except FileExistsError:
- await req_deal.finish("读取群数据失败,可能并没有请求...")
-
- try:
- await bot.set_group_add_request(
- flag=reqid, sub_type=data_g[reqid]["sub_type"], approve=True
- )
- await req_deal.finish("完成~!已同意申请")
- except FormatError:
- await req_deal.finish("请检查输入的值是否正确——!")
- else:
- await req_deal.finish("请检查输入的值是否正确——!")
- elif app == "拒绝":
- if _type == "好友":
- try:
- await bot.set_friend_add_request(flag=reqid, approve=False)
- await req_deal.finish("完成~!已拒绝申请")
- except FormatError:
- await req_deal.finish("请检查输入的值是否正确——!")
- elif _type == "群":
- path = ESSENTIAL_DIR / "request_group.json"
- data_g = dict()
- try:
- data_g = json.loads(path.read_bytes())
- except FileExistsError:
- await req_deal.finish("读取群数据失败,可能并没有请求...")
-
- try:
- await bot.set_group_add_request(
- flag=reqid, sub_type=data_g[reqid]["sub_type"], approve=False
- )
- await req_deal.finish("完成~!已拒绝申请")
- except FormatError:
- await req_deal.finish("请检查输入的值是否正确——!")
- else:
- await req_deal.finish("请检查输入的值是否正确——!")
- else:
- await req_deal.finish("请检查输入的值是否正确——!")
diff --git a/ATRI/plugins/manage/modules/service.py b/ATRI/plugins/manage/modules/service.py
deleted file mode 100644
index a3624df..0000000
--- a/ATRI/plugins/manage/modules/service.py
+++ /dev/null
@@ -1,179 +0,0 @@
-from nonebot.typing import T_State
-from nonebot.permission import SUPERUSER
-from nonebot.adapters.cqhttp.permission import GROUP_ADMIN, GROUP_OWNER
-from nonebot.adapters.cqhttp import (
- Bot,
- MessageEvent,
- GroupMessageEvent,
- PrivateMessageEvent,
-)
-
-from ATRI.service import Service as sv
-
-
-__doc__ = """
-启用功能,针对单群
-权限组:维护者,群管理
-用法:
- 启用 目标命令
-示例:
- 启用 以图搜图
-"""
-
-cur_service_ena = sv.on_command(
- cmd="启用功能", docs=__doc__, permission=SUPERUSER | GROUP_ADMIN | GROUP_OWNER
-)
-
-
-@cur_service_ena.args_parser # type: ignore
-async def _cur_ena_load(bot: Bot, event: GroupMessageEvent, state: T_State) -> None:
- msg = str(event.message).strip()
- quit_list = ["算了", "罢了", "取消"]
- if msg in quit_list:
- await cur_service_ena.finish("好吧...")
- if not msg:
- await cur_service_ena.reject("请告诉咱目标命令!")
- else:
- state["service_e"] = msg
-
-
-@cur_service_ena.handle()
-async def _cur_ena(bot: Bot, event: GroupMessageEvent, state: T_State) -> None:
- msg = str(event.message).strip()
- if msg:
- state["service_e"] = msg
-
-
-@cur_service_ena.got("service_e", prompt="请告诉咱目标命令!")
-async def _deal_cur_ena(bot: Bot, event: GroupMessageEvent, state: T_State) -> None:
- cmd = state["service_e"]
- group = str(event.group_id)
- sv.control_service(cmd, False, True, group=group)
- await cur_service_ena.finish(f"成功!本群已启用:{cmd}")
-
-
-@cur_service_ena.handle()
-async def _refuse_cur_ena(bot: Bot, event: PrivateMessageEvent, state: T_State) -> None:
- await cur_service_ena.finish("只能在群聊中决定哦...")
-
-
-__doc__ = """
-禁用功能,针对单群
-权限组:维护者,群管理
-用法:
- 禁用 目标命令
-示例:
- 禁用 以图搜图
-"""
-
-cur_service_dis = sv.on_command(
- cmd="禁用功能", docs=__doc__, permission=SUPERUSER | GROUP_ADMIN | GROUP_OWNER
-)
-
-
-@cur_service_dis.args_parser # type: ignore
-async def _cur_dis_load(bot: Bot, event: GroupMessageEvent, state: T_State) -> None:
- msg = str(event.message).strip()
- quit_list = ["算了", "罢了", "取消"]
- if msg in quit_list:
- await cur_service_dis.finish("好吧...")
- if not msg:
- await cur_service_dis.reject("请告诉咱目标命令!")
- else:
- state["service_d"] = msg
-
-
-@cur_service_dis.handle()
-async def _cur_dis(bot: Bot, event: GroupMessageEvent, state: T_State) -> None:
- msg = str(event.message).strip()
- if msg:
- state["service_d"] = msg
-
-
-@cur_service_dis.got("service_d", prompt="请告诉咱目标命令!")
-async def _deal_cur_dis(bot: Bot, event: GroupMessageEvent, state: T_State) -> None:
- cmd = state["service_d"]
- group = str(event.group_id)
- sv.control_service(cmd, False, False, group=group)
- await cur_service_dis.finish(f"成功!本群已禁用:{cmd}")
-
-
-@cur_service_dis.handle()
-async def _refuse_cur_dis(bot: Bot, event: PrivateMessageEvent, state: T_State) -> None:
- await cur_service_dis.finish("只能在群聊中决定哦...")
-
-
-__doc__ = """
-全局启用功能
-权限组:维护者
-用法:
- 全局启用 目标命令
-示例:
- 全局启用 以图搜图
-"""
-
-glo_service_ena = sv.on_command(cmd="全局启用", docs=__doc__, permission=SUPERUSER)
-
-
-@glo_service_ena.args_parser # type: ignore
-async def _glo_ena_load(bot: Bot, event: MessageEvent, state: T_State) -> None:
- msg = str(event.message).strip()
- quit_list = ["算了", "罢了", "取消"]
- if msg in quit_list:
- await glo_service_ena.finish("好吧...")
- if not msg:
- await glo_service_ena.reject("请告诉咱目标命令!")
- else:
- state["service_e_g"] = msg
-
-
-@glo_service_ena.handle()
-async def _glo_ena(bot: Bot, event: MessageEvent, state: T_State) -> None:
- msg = str(event.message).strip()
- if msg:
- state["service_e_g"] = msg
-
-
-@glo_service_ena.got("service_e_g", prompt="请告诉咱目标命令!")
-async def _deal_glo_ena(bot: Bot, event: MessageEvent, state: T_State) -> None:
- cmd = state["service_e_g"]
- sv.control_service(cmd, True, True)
- await glo_service_ena.finish(f"成功!已全局启用:{cmd}")
-
-
-__doc__ = """
-全局禁用功能
-权限组:维护者
-用法:
- 全局禁用 目标命令
-示例:
- 全局禁用 以图搜图
-"""
-
-glo_service_dis = sv.on_command(cmd="全局禁用", docs=__doc__, permission=SUPERUSER)
-
-
-@glo_service_dis.args_parser # type: ignore
-async def _glo_dis_load(bot: Bot, event: MessageEvent, state: T_State) -> None:
- msg = str(event.message).strip()
- quit_list = ["算了", "罢了", "取消"]
- if msg in quit_list:
- await glo_service_dis.finish("好吧...")
- if not msg:
- await glo_service_dis.reject("请告诉咱目标命令!")
- else:
- state["service_d_g"] = msg
-
-
-@glo_service_dis.handle()
-async def _glo_dis(bot: Bot, event: MessageEvent, state: T_State) -> None:
- msg = str(event.message).strip()
- if msg:
- state["service_d_g"] = msg
-
-
-@glo_service_dis.got("service_d_g", prompt="请告诉咱目标命令!")
-async def _deal_glo_dis(bot: Bot, event: MessageEvent, state: T_State) -> None:
- cmd = state["service_d_g"]
- sv.control_service(cmd, True, False)
- await glo_service_dis.finish(f"成功!已全局禁用:{cmd}")
diff --git a/ATRI/plugins/manage/modules/shutdown.py b/ATRI/plugins/manage/modules/shutdown.py
deleted file mode 100644
index 78f23e8..0000000
--- a/ATRI/plugins/manage/modules/shutdown.py
+++ /dev/null
@@ -1,32 +0,0 @@
-from nonebot.typing import T_State
-from nonebot.permission import SUPERUSER
-from nonebot.adapters.cqhttp import Bot, MessageEvent
-
-from ATRI.service import Service as sv
-
-
-__doc__ = """
-紧急停机
-权限组:维护者
-用法:
- @ 关机
-"""
-
-shutdown = sv.on_command(cmd="关机", docs=__doc__, permission=SUPERUSER)
-
-
-async def _shutdown(bot: Bot, event: MessageEvent, state: T_State) -> None:
- msg = str(event.message).strip()
- if msg:
- state["msg"] = msg
-
-
[email protected]("msg", prompt="[WARNING]此项操作将强行终止bot运行,是否继续(y/n)")
-async def __shutdown(bot: Bot, event: MessageEvent, state: T_State) -> None:
- t = ["y", "Y", "是"]
- if state["msg"] in t:
- await bot.send(event, "咱还会醒来的,一定")
- exit(0)
- else:
- await shutdown.finish("再考虑下吧 ;w;")