From 2c06cc8ce4d0dca4486450f3945d6cc9e42ad639 Mon Sep 17 00:00:00 2001 From: vvzvlad Date: Tue, 1 Apr 2025 02:31:10 +0300 Subject: [PATCH] Refactor PostParser to improve emoji handling for reactions, setting defaults for paid and unknown reactions --- post_parser.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/post_parser.py b/post_parser.py index dc8b892..e6c5383 100644 --- a/post_parser.py +++ b/post_parser.py @@ -124,6 +124,7 @@ class PostParser: return "🎥 YouTube" return "🔗 Web link" + if not text: if message.media == MessageMediaType.PHOTO: return "📷 Photo" elif message.media == MessageMediaType.VIDEO: return "🎥 Video" @@ -575,10 +576,14 @@ class PostParser: reactions_html = "" if reactions := getattr(message, "reactions", None): for reaction in reactions.reactions: - # Replace None or empty emoji with replacement character - emoji = reaction.emoji - if emoji is None or emoji == "None" or emoji == "": - emoji = "\xEF\xBF\xBD" # Question mark as replacement for missing emojis + emoji = "⭐" # Default for paid reactions + if hasattr(reaction, "emoji") and reaction.emoji: + emoji = reaction.emoji + elif hasattr(reaction, "custom_emoji_id"): + emoji = "❓" # Custom emoji placeholder + elif not getattr(reaction, "is_paid", False): + emoji = "❓" # Default for unknown reactions + reactions_html += f'{emoji} {reaction.count}  ' reactions_html = reactions_html.rstrip() first_line_parts.append(reactions_html)