From bca7e6461e6519d1b360e68102df45fc5ceec66e Mon Sep 17 00:00:00 2001 From: Dan <14043624+delivrance@users.noreply.github.com> Date: Thu, 17 Feb 2022 11:41:14 +0100 Subject: [PATCH] Add reply_to_message_id and reply_to_top_message_id to Message --- pyrogram/types/messages_and_media/message.py | 32 ++++++++++++++------ 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/pyrogram/types/messages_and_media/message.py b/pyrogram/types/messages_and_media/message.py index 1f6e432a..93f06712 100644 --- a/pyrogram/types/messages_and_media/message.py +++ b/pyrogram/types/messages_and_media/message.py @@ -95,6 +95,12 @@ class Message(Object, Update): forward_date (``int``, *optional*): For forwarded messages, date the original message was sent in Unix time. + reply_to_message_id (``int``, *optional*): + The id of the message which this message directly replied to. + + reply_to_top_message_id (``int``, *optional*): + The id of the first message which started this message thread. + reply_to_message (:obj:`~pyrogram.types.Message`, *optional*): For replies, the original message. Note that the Message object in this field will not contain further reply_to_message fields even if it itself is a reply. @@ -308,6 +314,8 @@ class Message(Object, Update): forward_from_message_id: int = None, forward_signature: str = None, forward_date: int = None, + reply_to_message_id: int = None, + reply_to_top_message_id: int = None, reply_to_message: "Message" = None, mentioned: bool = None, empty: bool = None, @@ -380,6 +388,8 @@ class Message(Object, Update): self.forward_from_message_id = forward_from_message_id self.forward_signature = forward_signature self.forward_date = forward_date + self.reply_to_message_id = reply_to_message_id + self.reply_to_top_message_id = reply_to_top_message_id self.reply_to_message = reply_to_message self.mentioned = mentioned self.empty = empty @@ -792,15 +802,19 @@ class Message(Object, Update): client=client ) - if message.reply_to and replies: - try: - parsed_message.reply_to_message = await client.get_messages( - parsed_message.chat.id, - reply_to_message_ids=message.id, - replies=replies - 1 - ) - except MessageIdsEmpty: - pass + if message.reply_to: + if replies: + try: + parsed_message.reply_to_message = await client.get_messages( + parsed_message.chat.id, + reply_to_message_ids=message.id, + replies=replies - 1 + ) + except MessageIdsEmpty: + pass + + parsed_message.reply_to_message_id = message.reply_to.reply_to_msg_id + parsed_message.reply_to_top_message_id = message.reply_to.reply_to_top_id return parsed_message