@@ -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