@@ -226,10 +226,6 @@ async def text(self, seg: Text, bot: Union[Bot, None]) -> "MessageSegment":
226226
227227 @export
228228 async def at (self , seg : At , bot : Union [Bot , None ]) -> "MessageSegment" :
229- if TYPE_CHECKING :
230- assert isinstance (bot , QQBot )
231- if bot and bot .bot_info and bot .bot_info .is_group_bot : # TODO: 等待 QQ 机器人支持群聊下的 at
232- return MessageSegment .text (" " )
233229 if seg .flag == "channel" :
234230 return MessageSegment .mention_channel (seg .target )
235231 elif seg .flag == "user" :
@@ -241,9 +237,6 @@ async def at(self, seg: At, bot: Union[Bot, None]) -> "MessageSegment":
241237
242238 @export
243239 async def at_all (self , seg : AtAll , bot : Union [Bot , None ]) -> "MessageSegment" :
244- assert isinstance (bot , QQBot )
245- if bot .bot_info and bot .bot_info .is_group_bot : # TODO: 等待 QQ 机器人支持群聊下的 at
246- return MessageSegment .text (" " )
247240 return MessageSegment .mention_everyone ()
248241
249242 @export
@@ -288,10 +281,6 @@ async def media(self, seg: Union[Image, Voice, Video, Audio, File], bot: Union[B
288281
289282 @export
290283 async def reply (self , seg : Reply , bot : Union [Bot , None ]) -> "MessageSegment" :
291- if TYPE_CHECKING :
292- assert isinstance (bot , QQBot )
293- if bot and bot .bot_info and bot .bot_info .is_group_bot : # TODO: 等待 QQ 机器人支持群聊下的 reply
294- return MessageSegment .text (" " )
295284 return MessageSegment .reference (seg .id )
296285
297286 def _button (self , seg : Button , bot : Union [Bot , None ]):
@@ -368,6 +357,8 @@ async def send_to(self, target: Union[Target, Event], bot: Bot, message: Message
368357
369358 if isinstance (target , Event ):
370359 assert isinstance (target , MessageEvent )
360+ if isinstance (target , (C2CMessageCreateEvent , GroupAtMessageCreateEvent )):
361+ message = message .exclude ("mention_channel" , "mention_user" , "mention_everyone" , "reference" )
371362 return await bot .send (event = target , message = message , ** kwargs )
372363
373364 if target .channel :
@@ -384,6 +375,7 @@ async def send_to(self, target: Union[Target, Event], bot: Bot, message: Message
384375 ** kwargs , # type: ignore
385376 )
386377 return await bot .send_to_channel (channel_id = target .id , message = message , msg_id = target .source , ** kwargs )
378+ message = message .exclude ("mention_channel" , "mention_user" , "mention_everyone" , "reference" )
387379 if target .private :
388380 res = await bot .send_to_c2c (
389381 openid = target .id , message = message , msg_id = target .source , msg_seq = target .extra ["qq.reply_seq" ], ** kwargs
0 commit comments