增加了group_manage_matcher的重载

This commit is contained in:
Azide 2022-03-14 20:04:14 +08:00
parent 17c3d0c667
commit 410c9619d5
2 changed files with 28 additions and 3 deletions

View File

@ -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):

View File

@ -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
)