33
44from tarina import lang
55from nonebot .adapters import Bot , Event
6- from nonebot .adapters .onebot .v11 .event import MessageEvent
76from nonebot .adapters .onebot .v11 .bot import Bot as OnebotBot
87from nonebot .adapters .onebot .v11 .message import Message , MessageSegment
98
@@ -53,8 +52,9 @@ def get_target(self, event: Event, bot: Union[Bot, None] = None) -> Target:
5352 raise NotImplementedError
5453
5554 def get_message_id (self , event : Event ) -> str :
56- assert isinstance (event , MessageEvent )
57- return str (event .message_id )
55+ if message_id := getattr (event , "message_id" , None ):
56+ return str (message_id )
57+ raise NotImplementedError
5858
5959 @export
6060 async def text (self , seg : Text , bot : Union [Bot , None ]) -> "MessageSegment" :
@@ -197,8 +197,8 @@ async def recall(self, mid: Any, bot: Bot, context: Union[Target, Event]):
197197 await bot .delete_msg (message_id = mid ["message_id" ])
198198 elif isinstance (mid , (str , int )):
199199 await bot .delete_msg (message_id = int (mid ))
200- elif not mid and isinstance (context , MessageEvent ):
201- await bot .delete_msg (message_id = context .message_id )
200+ elif not mid and hasattr (context , "message_id" ):
201+ await bot .delete_msg (message_id = context .message_id ) # type: ignore
202202
203203 async def reaction (self , emoji : Emoji , mid : Any , bot : Bot , context : Union [Target , Event ], delete : bool = False ):
204204 assert isinstance (bot , OnebotBot )
@@ -217,9 +217,9 @@ 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 hasattr ( context , "group_id" ):
220+ if not ( group_id := getattr ( context , "group_id" , None ) ):
221221 return
222- group_id = int (context . group_id ) # type: ignore
222+ group_id = int (group_id )
223223 await bot .call_api (
224224 "set_group_reaction" ,
225225 group_id = group_id ,
0 commit comments