Skip to content

Commit 013268c

Browse files
authored
fix(message): reply_to parsing (#46)
Closes #22
1 parent ced23aa commit 013268c

File tree

1 file changed

+22
-21
lines changed

1 file changed

+22
-21
lines changed

hydrogram/types/messages_and_media/message.py

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -990,28 +990,29 @@ async def _parse(
990990
)
991991

992992
if message.reply_to:
993-
if message.reply_to.forum_topic:
994-
if message.reply_to.reply_to_top_id:
995-
thread_id = message.reply_to.reply_to_top_id
996-
parsed_message.reply_to_message_id = message.reply_to.reply_to_msg_id
997-
else:
998-
thread_id = message.reply_to.reply_to_msg_id
999-
parsed_message.message_thread_id = thread_id
1000-
parsed_message.is_topic_message = True
1001-
if topics:
1002-
parsed_message.topics = types.ForumTopic._parse(topics[thread_id])
993+
if isinstance(message.reply_to, raw.types.MessageReplyHeader):
994+
if message.reply_to.forum_topic:
995+
if message.reply_to.reply_to_top_id:
996+
thread_id = message.reply_to.reply_to_top_id
997+
parsed_message.reply_to_message_id = message.reply_to.reply_to_msg_id
998+
else:
999+
thread_id = message.reply_to.reply_to_msg_id
1000+
parsed_message.message_thread_id = thread_id
1001+
parsed_message.is_topic_message = True
1002+
if topics:
1003+
parsed_message.topics = types.ForumTopic._parse(topics[thread_id])
1004+
else:
1005+
try:
1006+
msg = await client.get_messages(parsed_message.chat.id, message.id)
1007+
if getattr(msg, "topics"):
1008+
parsed_message.topics = msg.topics
1009+
except Exception:
1010+
pass
10031011
else:
1004-
try:
1005-
msg = await client.get_messages(parsed_message.chat.id, message.id)
1006-
if getattr(msg, "topics"):
1007-
parsed_message.topics = msg.topics
1008-
except Exception:
1009-
pass
1010-
else:
1011-
parsed_message.reply_to_message_id = message.reply_to.reply_to_msg_id
1012-
parsed_message.reply_to_top_message_id = message.reply_to.reply_to_top_id
1013-
if isinstance(message.reply_to, raw.types.MessageReplyStoryHeader):
1014-
parsed_message.reply_to_message_id = message.reply_to.story_id
1012+
parsed_message.reply_to_message_id = message.reply_to.reply_to_msg_id
1013+
parsed_message.reply_to_top_message_id = message.reply_to.reply_to_top_id
1014+
if isinstance(message.reply_to, raw.types.MessageReplyStoryHeader):
1015+
parsed_message.reply_to_message_id = message.reply_to.story_id
10151016

10161017
if replies:
10171018
try:

0 commit comments

Comments
 (0)