diff --git a/zhenxun/builtin_plugins/admin/plugin_switch/_data_source.py b/zhenxun/builtin_plugins/admin/plugin_switch/_data_source.py index 3a24b7d9..dea6724f 100644 --- a/zhenxun/builtin_plugins/admin/plugin_switch/_data_source.py +++ b/zhenxun/builtin_plugins/admin/plugin_switch/_data_source.py @@ -170,7 +170,9 @@ class PluginManage: if plugin_name.isdigit(): plugin = await PluginInfo.get_or_none(id=int(plugin_name)) else: - plugin = await PluginInfo.get_or_none(name=plugin_name, load_status=True) + plugin = await PluginInfo.get_or_none( + name=plugin_name, load_status=True, plugin_type__not=PluginType.PARENT + ) if plugin: plugin.default_status = status await plugin.save(update_fields=["default_status"]) @@ -461,7 +463,9 @@ class PluginManage: if plugin_name.isdigit(): plugin = await PluginInfo.get_or_none(id=int(plugin_name)) else: - plugin = await PluginInfo.get_or_none(name=plugin_name, load_status=True) + plugin = await PluginInfo.get_or_none( + name=plugin_name, load_status=True, plugin_type__not=PluginType.PARENT + ) if plugin: group, _ = await GroupConsole.get_or_create( group_id=group_id, channel_id__isnull=True @@ -527,7 +531,9 @@ class PluginManage: if plugin_name.isdigit(): plugin = await PluginInfo.get_or_none(id=int(plugin_name)) else: - plugin = await PluginInfo.get_or_none(name=plugin_name, load_status=True) + plugin = await PluginInfo.get_or_none( + name=plugin_name, load_status=True, plugin_type__not=PluginType.PARENT + ) if plugin: if group_id: if group := await GroupConsole.get_or_none( @@ -571,7 +577,9 @@ class PluginManage: if plugin_name.isdigit(): plugin = await PluginInfo.get_or_none(id=int(plugin_name)) else: - plugin = await PluginInfo.get_or_none(name=plugin_name, load_status=True) + plugin = await PluginInfo.get_or_none( + name=plugin_name, load_status=True, plugin_type__not=PluginType.PARENT + ) if plugin: if group_id: if group := await GroupConsole.get_or_none( diff --git a/zhenxun/builtin_plugins/help/_data_source.py b/zhenxun/builtin_plugins/help/_data_source.py index 604d72d3..d7384009 100644 --- a/zhenxun/builtin_plugins/help/_data_source.py +++ b/zhenxun/builtin_plugins/help/_data_source.py @@ -1,5 +1,6 @@ import nonebot +from zhenxun.utils.enum import PluginType from zhenxun.models.plugin_info import PluginInfo from zhenxun.configs.path_config import IMAGE_PATH from zhenxun.utils.image_utils import BuildImage, ImageTemplate @@ -29,9 +30,11 @@ async def get_plugin_help(name: str, is_superuser: bool) -> str | BuildImage: is_superuser: 是否为超级用户 """ if name.isdigit(): - plugin = await PluginInfo.get_or_none(id=int(name), load_status=True) + plugin = await PluginInfo.get_or_none(id=int(name)) else: - plugin = await PluginInfo.get_or_none(name__iexact=name, load_status=True) + plugin = await PluginInfo.get_or_none( + name__iexact=name, load_status=True, plugin_type__not=PluginType.PARENT + ) if plugin: _plugin = nonebot.get_plugin_by_module_name(plugin.module_path) if _plugin and _plugin.metadata: