--- Forwarded post end ---") # Forward info end @@ -621,9 +620,12 @@ class PostParser: def _generate_html_media(self, message: Message) -> str: self._save_media_file_ids(message) # Save media file_ids for caching + content_media = [] base_url = Config['pyrogram_bridge_url'] if message.media and message.media != "MessageMediaType.POLL": + content_media.append(f'') if webpage := getattr(message, "web_page", None): # Web page preview if webpage_html := self._format_webpage(webpage, message): if len((message.text or message.caption or '').strip()) <= 10: + content_media.append(f'
')
content_media.append(webpage_html)
+ content_media.append('
')
html_media = '\n'.join(content_media)
html_media = self._sanitize_html(html_media)
@@ -863,14 +868,17 @@ class PostParser:
logger.error(f"reactions_views_links_error message_object: {str(message)}") # Keep original log for context
return None
- def _format_poll(self, poll) -> str:
+ def _format_poll(self, message: Message) -> Union[str, None]: #TODO: refactoring to parts.append
+
try:
- poll_text = f"š Poll: {poll.question}\n"
- if hasattr(poll, "options") and poll.options:
- for i, option in enumerate(poll.options, 1):
- poll_text += f"{i}. {getattr(option, 'text', '')}\n"
- poll_text += "\nā Vote in Telegram š\n"
- return f''
+ if poll := getattr(message, "poll", None):
+ poll_text = f"š Poll: {poll.question}\n"
+ if hasattr(poll, "options") and poll.options:
+ for i, option in enumerate(poll.options, 1):
+ poll_text += f"{i}. {getattr(option, 'text', '')}\n"
+ poll_text += "\nā Vote in Telegram š\n"
+ return f''
+ return None
except Exception as e:
logger.error(f"poll_parsing_error: {str(e)}")
return ''