diff --git a/post_parser.py b/post_parser.py index cce79bf..cd85d31 100644 --- a/post_parser.py +++ b/post_parser.py @@ -325,6 +325,19 @@ class PostParser: 'reactions': self._extract_reactions(message), 'media_group_id': message.media_group_id } + + # Add webpage data if available + if webpage := getattr(message, "web_page", None): + result['webpage'] = { + 'type': getattr(webpage, 'type', None), + 'url': getattr(webpage, 'url', None), + 'display_url': getattr(webpage, 'display_url', None), + 'site_name': getattr(webpage, 'site_name', None), + 'title': getattr(webpage, 'title', None), + 'description': getattr(webpage, 'description', None), + 'has_large_media': getattr(webpage, 'has_large_media', False), + 'is_telegram_link': getattr(webpage, 'type', '') == 'telegram_message' + } return result @@ -438,19 +451,58 @@ class PostParser: def _format_webpage(self, webpage, message) -> Union[str, None]: base_url = Config['pyrogram_bridge_url'] try: + # Check if this is a Telegram message link + is_telegram_message = getattr(webpage, "type", "") == "telegram_message" + + if is_telegram_message: + # Telegram message preview with distinctive styling + html_parts = ['