diff --git a/src/plugins/nonebot_bison/config_manager.py b/src/plugins/nonebot_bison/config_manager.py index ee5ebf9..9e59b2b 100644 --- a/src/plugins/nonebot_bison/config_manager.py +++ b/src/plugins/nonebot_bison/config_manager.py @@ -12,7 +12,7 @@ from nonebot.internal.params import ArgStr from nonebot.internal.rule import Rule from nonebot.log import logger from nonebot.matcher import Matcher -from nonebot.params import Depends, EventMessage, EventPlainText, EventToMe +from nonebot.params import Depends, EventMessage, EventPlainText, EventToMe, EventType from nonebot.permission import SUPERUSER from nonebot.rule import to_me from nonebot.typing import T_State @@ -296,6 +296,9 @@ do_del_sub(del_sub_matcher) group_manage_matcher = on_command("群管理") +@group_manage_matcher.handle() +async def send_group_list(bot: Bot, event: GroupMessageEvent, state: T_State): + await group_manage_matcher.finish(Message("该功能只支持私聊使用,请私聊Bot")) @group_manage_matcher.handle() async def send_group_list(bot: Bot, state: T_State): diff --git a/tests/test_config_manager_admin.py b/tests/test_config_manager_admin.py index fc6581d..77e9ac1 100644 --- a/tests/test_config_manager_admin.py +++ b/tests/test_config_manager_admin.py @@ -1,9 +1,11 @@ from nonebug import App -from .utils import fake_admin_user, fake_private_message_event, fake_superuser +from .utils import fake_admin_user, fake_private_message_event, fake_group_message_event, fake_superuser +import pytest -async def test_query(app: App): +@pytest.mark.asyncio +async def test_query_with_superuser_private(app: App): from nonebot.adapters.onebot.v11.bot import Bot from nonebot.adapters.onebot.v11.message import Message from nonebot_bison.config_manager import group_manage_matcher @@ -43,3 +45,23 @@ async def test_query(app: App): message=Message("查询订阅"), sender=fake_superuser ) ctx.receive_event(bot, event_2_ok) + ctx.should_pass_rule() + ctx.should_pass_permission() + +@pytest.mark.asyncio +async def test_query_with_superuser_group_tome(app: App): + from nonebot.adapters.onebot.v11.bot import Bot + from nonebot.adapters.onebot.v11.message import Message + from nonebot_bison.config_manager import group_manage_matcher + + async with app.test_matcher(group_manage_matcher) as ctx: + bot = ctx.create_bot(base=Bot) + event = fake_group_message_event( + message=Message("群管理"), sender=fake_superuser,to_me=True + ) + ctx.receive_event(bot, event) + ctx.should_pass_rule() + ctx.should_pass_permission() + ctx.should_call_send( + event, '', True + ) \ No newline at end of file