From e9fd38fc02157f318576fe55b34d64cb5422a35c Mon Sep 17 00:00:00 2001 From: Darskiy Date: Tue, 11 Mar 2025 02:41:47 +0200 Subject: [PATCH] Enhance HTML tag support for existing entities Added `details` tag handling for the existing `MessageEntitySpoiler` entity. Expanded `MessageEntityStrike` detection by including the `strike` tag. --- telethon/extensions/html.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/telethon/extensions/html.py b/telethon/extensions/html.py index 0e2e8f33..45ee3c01 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 + TypeMessageEntity, MessageEntitySpoiler ) @@ -39,8 +39,10 @@ class HTMLToTelegramParser(HTMLParser): EntityType = MessageEntityItalic elif tag == 'u': EntityType = MessageEntityUnderline - elif tag == 'del' or tag == 's': + elif tag in ('del', 's', 'strike'): EntityType = MessageEntityStrike + elif tag == 'details': + EntityType = MessageEntitySpoiler elif tag == 'blockquote': EntityType = MessageEntityBlockquote elif tag == 'code': @@ -131,6 +133,7 @@ def parse(html: str) -> Tuple[str, List[TypeMessageEntity]]: ENTITY_TO_FORMATTER = { MessageEntityBold: ('', ''), MessageEntityItalic: ('', ''), + MessageEntitySpoiler: ('
', '
'), MessageEntityCode: ('', ''), MessageEntityUnderline: ('', ''), MessageEntityStrike: ('', ''),