File tree Expand file tree Collapse file tree 2 files changed +20
-7
lines changed
src/nonebot_plugin_alconna/uniseg Expand file tree Collapse file tree 2 files changed +20
-7
lines changed Original file line number Diff line number Diff line change @@ -1380,12 +1380,14 @@ async def send(
13801380 except LookupError as e :
13811381 raise SerializeFailed (lang .require ("nbp-uniseg" , "bot_missing" )) from e
13821382 if at_sender :
1383- if isinstance (at_sender , str ):
1384- self .insert (0 , At ("user" , at_sender )) # type: ignore
1385- elif isinstance (target , Event ):
1386- self .insert (0 , At ("user" , target .get_user_id ())) # type: ignore
1387- else :
1388- raise TypeError ("at_sender must be str when target is not Event" )
1383+ _target = target if isinstance (target , Target ) else get_target (target , bot )
1384+ if not _target .private :
1385+ if isinstance (at_sender , str ):
1386+ self .insert (0 , At ("user" , at_sender )) # type: ignore
1387+ elif isinstance (target , Event ):
1388+ self .insert (0 , At ("user" , target .get_user_id ())) # type: ignore
1389+ else :
1390+ raise TypeError ("at_sender must be str when target is not Event" )
13891391 if reply_to :
13901392 if isinstance (reply_to , Reply ):
13911393 self .insert (0 , reply_to ) # type: ignore
Original file line number Diff line number Diff line change 66from nonebot .compat import model_dump , type_validate_python
77from nonebot .adapters .onebot .v11 import Bot , Adapter , Message , MessageSegment
88
9- from tests .fake import fake_group_message_event_v11
9+ from tests .fake import fake_group_message_event_v11 , fake_private_message_event_v11
1010
1111
1212def ansi (* code ) -> str :
@@ -277,6 +277,17 @@ async def handle(msg: MsgId):
277277 MessageSegment .reply (event .message_id + 1 ) + MessageSegment .at (123 ) + MessageSegment .text ("world!" ),
278278 )
279279 ctx .should_call_api ("delete_msg" , {"message_id" : event .message_id + 1 })
280+ event1 = fake_private_message_event_v11 (message = Message ("test_unimsg_send" ), user_id = 123 )
281+ ctx .receive_event (bot , event1 )
282+ ctx .should_call_send (
283+ event1 ,
284+ MessageSegment .reply (event1 .message_id ) + MessageSegment .text ("hello!" ),
285+ )
286+ ctx .should_call_send (
287+ event1 ,
288+ MessageSegment .reply (event1 .message_id + 1 ) + MessageSegment .text ("world!" ),
289+ )
290+ ctx .should_call_api ("delete_msg" , {"message_id" : event1 .message_id + 1 })
280291
281292 async with app .test_api () as ctx1 :
282293 adapter = get_adapter (Adapter )
You can’t perform that action at this time.
0 commit comments