Skip to content

Commit 11b03eb

Browse files
committed
🔖 version 0.57.5
1 parent 7738b5b commit 11b03eb

File tree

5 files changed

+65
-7
lines changed

5 files changed

+65
-7
lines changed

src/nonebot_plugin_alconna/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@
143143
from .uniseg import SupportAdapterModule as SupportAdapterModule
144144
from .extension import add_global_extension as add_global_extension
145145

146-
__version__ = "0.57.4"
146+
__version__ = "0.57.5"
147147
__supported_adapters__ = set(m.value for m in SupportAdapterModule.__members__.values()) # noqa: C401
148148
__plugin_meta__ = PluginMetadata(
149149
name="Alconna 插件",

src/nonebot_plugin_alconna/uniseg/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
from .constraint import SupportAdapterModule as SupportAdapterModule
6464
from .adapters import alter_get_builder, alter_get_fetcher, alter_get_exporter
6565

66-
__version__ = "0.57.4"
66+
__version__ = "0.57.5"
6767

6868
__plugin_meta__ = PluginMetadata(
6969
name="Universal Segment 插件",

src/nonebot_plugin_alconna/uniseg/adapters/onebot11/exporter.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,14 @@ def get_adapter(cls) -> SupportAdapter:
3434
return SupportAdapter.onebot11
3535

3636
def get_target(self, event: Event, bot: Union[Bot, None] = None) -> Target:
37-
if group_id := getattr(event, "group_id", None):
37+
if (group_id := getattr(event, "group_id", None)) is not None:
3838
return Target(
3939
str(group_id),
4040
adapter=self.get_adapter(),
4141
self_id=bot.self_id if bot else None,
4242
scope=SupportScope.qq_client,
4343
)
44-
if user_id := getattr(event, "user_id", None):
44+
if (user_id := getattr(event, "user_id", None)) is not None:
4545
return Target(
4646
str(user_id),
4747
private=True,
@@ -52,7 +52,7 @@ def get_target(self, event: Event, bot: Union[Bot, None] = None) -> Target:
5252
raise NotImplementedError
5353

5454
def get_message_id(self, event: Event) -> str:
55-
if message_id := getattr(event, "message_id", None):
55+
if (message_id := getattr(event, "message_id", None)) is not None:
5656
return str(message_id)
5757
raise NotImplementedError
5858

@@ -217,7 +217,7 @@ async def reaction(self, emoji: Emoji, mid: Any, bot: Bot, context: Union[Target
217217
return
218218
group_id = int(context.id)
219219
else:
220-
if not (group_id := getattr(context, "group_id", None)):
220+
if (group_id := getattr(context, "group_id", None)) is None:
221221
return
222222
group_id = int(group_id)
223223
await bot.call_api(

tests/fake.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,37 @@ def get_msg_id() -> int:
1919
return next(_msg_ids)
2020

2121

22+
def fake_self_message_event_v11(**field) -> "GroupMessageEventV11":
23+
from pydantic import create_model
24+
from nonebot.adapters.onebot.v11.event import Sender
25+
from nonebot.adapters.onebot.v11 import Message, GroupMessageEvent
26+
27+
_fake = create_model("_fake", __base__=GroupMessageEvent)
28+
29+
class FakeEvent(_fake):
30+
time: int = 1000000
31+
self_id: int = 1
32+
post_type: Literal["message_sent"] = "message_sent"
33+
sub_type: str = "normal"
34+
user_id: int = 1
35+
message_type: Literal["group"] = "group"
36+
group_id: int = 10000
37+
message: Message = Message("test")
38+
raw_message: str = "test"
39+
font: int = 0
40+
sender: Sender = Sender(
41+
card="",
42+
nickname="test",
43+
role="member",
44+
)
45+
to_me: bool = True
46+
47+
class Config:
48+
extra = "allow"
49+
50+
return FakeEvent(message_id=get_msg_id(), **field)
51+
52+
2253
def fake_group_message_event_v11(**field) -> "GroupMessageEventV11":
2354
from pydantic import create_model
2455
from nonebot.adapters.onebot.v11.event import Sender

tests/test_onebot.py

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from nonebot import get_adapter
44
from nonebot.adapters.onebot.v11 import Bot, Adapter, Message, MessageSegment
55

6-
from tests.fake import fake_group_message_event_v11
6+
from tests.fake import fake_self_message_event_v11, fake_group_message_event_v11
77

88

99
@pytest.mark.asyncio()
@@ -30,3 +30,30 @@ async def _(city: str):
3030
ev2 = fake_group_message_event_v11(message=Message([MessageSegment.face(i) for i in range(50)]), user_id=123)
3131
ctx.receive_event(bot, ev2)
3232
ctx.should_not_pass_rule(matcher)
33+
34+
35+
@pytest.mark.asyncio()
36+
async def test_sent(app: App):
37+
from nonebot_plugin_alconna import Alconna, AlconnaMatcher, on_alconna
38+
39+
mat1 = on_alconna("sent1", response_self=True)
40+
mat2 = on_alconna("sent2", response_self=False)
41+
42+
@mat1.handle()
43+
@mat2.handle()
44+
async def _(cmd: Alconna, mat: AlconnaMatcher):
45+
await mat.send(cmd.name)
46+
47+
async with app.test_matcher(mat1) as ctx:
48+
adapter = get_adapter(Adapter)
49+
bot = ctx.create_bot(base=Bot, adapter=adapter, self_id="123")
50+
event = fake_self_message_event_v11(message=Message("sent1"), user_id=123, self_id=123)
51+
ctx.receive_event(bot, event)
52+
ctx.should_call_send(event, "sent1")
53+
54+
async with app.test_matcher(mat2) as ctx:
55+
adapter = get_adapter(Adapter)
56+
bot = ctx.create_bot(base=Bot, adapter=adapter, self_id="123")
57+
event = fake_self_message_event_v11(message=Message("sent2"), user_id=123, self_id=123)
58+
ctx.receive_event(bot, event)
59+
ctx.should_not_pass_rule(mat2)

0 commit comments

Comments
 (0)