Commit fa12543

benny-dou <60535774+benny-dou@users.noreply.github.com>
2025-07-08 11:48:20
feat(favorite): add reply to favorite message
1 parent 5bc063b
Changed files (1)
src
src/others/favorite.py
@@ -4,7 +4,7 @@ import contextlib
 
 from loguru import logger
 from pyrogram.client import Client
-from pyrogram.types import Message
+from pyrogram.types import Message, ReplyParameters
 
 from config import DB, FAVORITE
 from database.r2 import get_cf_r2, set_cf_r2
@@ -115,7 +115,8 @@ async def send_favorite(client: Client, message: Message, **kwargs):
     if not save_info:
         await send2tg(client, message, texts=f"【{keyword}】不存在", **kwargs)
         return
-
+    reply_message_id = message.reply_to_message.id if message.reply_to_message else None
+    reply = ReplyParameters(message_id=reply_message_id)  # type: ignore
     if use_forward:
         if save_info.get("media_group_id"):
             messages = await client.get_media_group(save_info["cid"], save_info["mid"])
@@ -123,8 +124,8 @@ async def send_favorite(client: Client, message: Message, **kwargs):
         else:
             await client.forward_messages(chat_id=info["cid"], from_chat_id=save_info["cid"], message_ids=save_info["mid"])
     elif save_info.get("media_group_id"):
-        await client.copy_media_group(chat_id=info["cid"], from_chat_id=save_info["cid"], message_id=save_info["mid"])
+        await client.copy_media_group(chat_id=info["cid"], from_chat_id=save_info["cid"], message_id=save_info["mid"], reply_parameters=reply)
     else:
-        await client.copy_message(chat_id=info["cid"], from_chat_id=save_info["cid"], message_id=save_info["mid"])
+        await client.copy_message(chat_id=info["cid"], from_chat_id=save_info["cid"], message_id=save_info["mid"], reply_parameters=reply)
     with contextlib.suppress(Exception):
         await message.delete()