diff --git a/telethon/extensions/html.py b/telethon/extensions/html.py index 0e2e8f33..869cc96e 100644 --- a/telethon/extensions/html.py +++ b/telethon/extensions/html.py @@ -13,7 +13,7 @@ from ..tl.types import ( MessageEntityPre, MessageEntityEmail, MessageEntityUrl, MessageEntityTextUrl, MessageEntityMentionName, MessageEntityUnderline, MessageEntityStrike, MessageEntityBlockquote, - TypeMessageEntity + MessageEntityCustomEmoji, TypeMessageEntity ) @@ -78,7 +78,15 @@ class HTMLToTelegramParser(HTMLParser): url = None self._open_tags_meta.popleft() self._open_tags_meta.appendleft(url) + elif tag == 'tg-emoji': + try: + emoji_id = int(attrs['emoji-id']) + except (KeyError, ValueError): + return + EntityType = MessageEntityCustomEmoji + args['document_id'] = emoji_id + if EntityType and tag not in self._building_entities: self._building_entities[tag] = EntityType( offset=len(self.text), @@ -146,6 +154,7 @@ ENTITY_TO_FORMATTER = { MessageEntityUrl: lambda _, t: (''.format(t), ''), MessageEntityTextUrl: lambda e, _: (''.format(escape(e.url)), ''), MessageEntityMentionName: lambda e, _: (''.format(e.user_id), ''), + MessageEntityCustomEmoji: lambda e, _: (''.format(e.document_id), ''), }