Skip to content

Commit f5bcce7

Browse files
committed
Add support for custom emoji in HTML
1 parent 2242adb commit f5bcce7

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

docs/source/topics/text-formatting.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,8 @@ To strictly use this mode, pass :obj:`~pyrogram.enums.HTML` to the *parse_mode*
122122
123123
<code>inline fixed-width code</code>
124124
125+
<emoji id="12345678901234567890">🔥</emoji>
126+
125127
<pre>
126128
pre-formatted
127129
fixed-width

pyrogram/parser/html.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,10 @@ def handle_starttag(self, tag, attrs):
7575
else:
7676
entity = raw.types.MessageEntityTextUrl
7777
extra["url"] = url
78+
elif tag == "emoji":
79+
entity = raw.types.MessageEntityCustomEmoji
80+
custom_emoji_id = int(attrs.get("id"))
81+
extra["document_id"] = custom_emoji_id
7882
else:
7983
return
8084

@@ -185,6 +189,10 @@ def unparse(text: str, entities: list):
185189
user = entity.user
186190
start_tag = f'<a href="tg://user?id={user.id}">'
187191
end_tag = "</a>"
192+
elif entity_type == MessageEntityType.CUSTOM_EMOJI:
193+
custom_emoji_id = entity.custom_emoji_id
194+
start_tag = f'<emoji id="{custom_emoji_id}">'
195+
end_tag = "</emoji>"
188196
else:
189197
continue
190198

0 commit comments

Comments
 (0)