From f5bcce7c3f96e9ebfb87791f69ee96f649ab481c Mon Sep 17 00:00:00 2001 From: Dan <14043624+delivrance@users.noreply.github.com> Date: Tue, 16 Aug 2022 08:59:06 +0200 Subject: [PATCH] Add support for custom emoji in HTML --- docs/source/topics/text-formatting.rst | 2 ++ pyrogram/parser/html.py | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/docs/source/topics/text-formatting.rst b/docs/source/topics/text-formatting.rst index 4e11fb74..00aa0cf8 100644 --- a/docs/source/topics/text-formatting.rst +++ b/docs/source/topics/text-formatting.rst @@ -122,6 +122,8 @@ To strictly use this mode, pass :obj:`~pyrogram.enums.HTML` to the *parse_mode* inline fixed-width code + 🔥 +
     pre-formatted
       fixed-width
diff --git a/pyrogram/parser/html.py b/pyrogram/parser/html.py
index d9a8d368..29c8c4a6 100644
--- a/pyrogram/parser/html.py
+++ b/pyrogram/parser/html.py
@@ -75,6 +75,10 @@ class Parser(HTMLParser):
             else:
                 entity = raw.types.MessageEntityTextUrl
                 extra["url"] = url
+        elif tag == "emoji":
+            entity = raw.types.MessageEntityCustomEmoji
+            custom_emoji_id = int(attrs.get("id"))
+            extra["document_id"] = custom_emoji_id
         else:
             return
 
@@ -185,6 +189,10 @@ class HTML:
                 user = entity.user
                 start_tag = f''
                 end_tag = ""
+            elif entity_type == MessageEntityType.CUSTOM_EMOJI:
+                custom_emoji_id = entity.custom_emoji_id
+                start_tag = f''
+                end_tag = ""
             else:
                 continue