mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2026-09-29 00:32:06 +08:00
feat✨: test hook
This commit is contained in:
@@ -1,24 +1,13 @@
|
||||
from nonebot.adapters import Bot
|
||||
from nonebot.plugin import PluginMetadata
|
||||
from nonebot_plugin_alconna import (
|
||||
Alconna,
|
||||
Args,
|
||||
Arparma,
|
||||
Match,
|
||||
Option,
|
||||
Subcommand,
|
||||
on_alconna,
|
||||
store_true,
|
||||
)
|
||||
from nonebot_plugin_alconna import Arparma, Match
|
||||
from nonebot_plugin_saa import Image, Text
|
||||
from nonebot_plugin_session import EventSession
|
||||
from requests import session
|
||||
|
||||
from zhenxun.configs.config import Config
|
||||
from zhenxun.configs.utils import PluginExtraData, RegisterConfig
|
||||
from zhenxun.services.log import logger
|
||||
from zhenxun.utils.enum import BlockType, PluginType
|
||||
from zhenxun.utils.rules import admin_check, ensure_group
|
||||
|
||||
from ._data_source import PluginManage, build_plugin, build_task
|
||||
from .command import _group_status_matcher, _status_matcher
|
||||
@@ -54,44 +43,7 @@ __plugin_meta__ = PluginMetadata(
|
||||
)
|
||||
|
||||
|
||||
# _status_matcher = on_alconna(
|
||||
# Alconna(
|
||||
# "switch",
|
||||
# Option("-t|--task", action=store_true, help_text="被动技能"),
|
||||
# Subcommand(
|
||||
# "open",
|
||||
# Args["name", str],
|
||||
# Option(
|
||||
# "-g|--group",
|
||||
# Args["group_id", str],
|
||||
# ),
|
||||
# ),
|
||||
# Subcommand(
|
||||
# "close",
|
||||
# Args["name", str],
|
||||
# Option(
|
||||
# "-t|--type",
|
||||
# Args["block_type", ["all", "a", "private", "p", "group", "g"]],
|
||||
# ),
|
||||
# Option(
|
||||
# "-g|--group",
|
||||
# Args["group_id", str],
|
||||
# ),
|
||||
# ),
|
||||
# ),
|
||||
# rule=admin_check("admin_bot_manage", "CHANGE_GROUP_SWITCH_LEVEL"),
|
||||
# priority=5,
|
||||
# block=True,
|
||||
# )
|
||||
|
||||
# # TODO: shortcut
|
||||
|
||||
# _group_status_matcher = on_alconna(
|
||||
# Alconna("group-status", Args["status", ["sleep", "wake"]]),
|
||||
# rule=admin_check("admin_bot_manage", "CHANGE_GROUP_SWITCH_LEVEL") & ensure_group,
|
||||
# priority=5,
|
||||
# block=True,
|
||||
# )
|
||||
# TODO: shortcut
|
||||
|
||||
|
||||
@_status_matcher.assign("$main")
|
||||
|
||||
@@ -249,8 +249,8 @@ class PluginManage:
|
||||
if plugin:
|
||||
if group_id:
|
||||
if group := await GroupConsole.get_or_none(group_id=group_id):
|
||||
if f"super:{plugin_name}," not in group.block_plugin:
|
||||
group.block_plugin += f"super:{plugin_name},"
|
||||
if f"super:{plugin.module}," not in group.block_plugin:
|
||||
group.block_plugin += f"super:{plugin.module},"
|
||||
await group.save(update_fields=["block_plugin"])
|
||||
return (
|
||||
f"已成功关闭群组 {group.group_name} 的 {plugin_name} 功能!"
|
||||
@@ -263,5 +263,10 @@ class PluginManage:
|
||||
if not block_type:
|
||||
return f"已成功将 {plugin.name} 全局启用!"
|
||||
else:
|
||||
return f"已成功将 {plugin.name} 全局关闭!"
|
||||
if block_type == BlockType.ALL:
|
||||
return f"已成功将 {plugin.name} 全局关闭!"
|
||||
if block_type == BlockType.GROUP:
|
||||
return f"已成功将 {plugin.name} 全局群组关闭!"
|
||||
if block_type == BlockType.PRIVATE:
|
||||
return f"已成功将 {plugin.name} 全局私聊关闭!"
|
||||
return "没有找到这个功能喔..."
|
||||
|
||||
@@ -19,7 +19,7 @@ _status_matcher = on_alconna(
|
||||
Args["name", [str, int]],
|
||||
Option(
|
||||
"-g|--group",
|
||||
Args["group_id", str],
|
||||
Args["group", str],
|
||||
),
|
||||
),
|
||||
Subcommand(
|
||||
@@ -31,7 +31,7 @@ _status_matcher = on_alconna(
|
||||
),
|
||||
Option(
|
||||
"-g|--group",
|
||||
Args["group_id", str],
|
||||
Args["group", str],
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user