From b3e69876542b4b6a2a251f3b1b5e51670160b1d6 Mon Sep 17 00:00:00 2001 From: Zaid _ Date: Thu, 20 Jun 2024 17:06:19 +0300 Subject: [PATCH] fix --- client/src/telethon/_impl/client/parsers/html.py | 4 ++-- client/src/telethon/_impl/client/parsers/markdown.py | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/client/src/telethon/_impl/client/parsers/html.py b/client/src/telethon/_impl/client/parsers/html.py index f3db23ba..c7d19c46 100644 --- a/client/src/telethon/_impl/client/parsers/html.py +++ b/client/src/telethon/_impl/client/parsers/html.py @@ -48,7 +48,7 @@ class HTMLToTelegramParser(HTMLParser): EntityType = MessageEntityStrike elif tag == "blockquote": EntityType = MessageEntityBlockquote - elif tag == "spoiler" or tag == "tg-spoiler": + elif tag == "details" or tag == "tg-spoiler": EntityType = MessageEntitySpoiler elif tag == "code": try: @@ -142,7 +142,7 @@ ENTITY_TO_FORMATTER: dict[ MessageEntityUnderline: ("", ""), MessageEntityStrike: ("", ""), MessageEntityBlockquote: ("
", "
"), - MessageEntitySpoiler: ("", ""), + MessageEntitySpoiler: ("
", "
"), MessageEntityPre: lambda e, _: ( '
'.format(e.language) if e.language else "
",
         "
" if e.language else "
", diff --git a/client/src/telethon/_impl/client/parsers/markdown.py b/client/src/telethon/_impl/client/parsers/markdown.py index edcef674..2ccf8ac7 100644 --- a/client/src/telethon/_impl/client/parsers/markdown.py +++ b/client/src/telethon/_impl/client/parsers/markdown.py @@ -43,6 +43,7 @@ HTML_TO_TYPE = { "del": ("s_close", "s_open"), "u": ("heading_open", "heading_close"), "mark": ("heading_open", "heading_close"), + "details": ("details_close", "details_open") } @@ -138,6 +139,8 @@ def parse(message: str) -> tuple[str, list[MessageEntity]]: push(MessageEntityTextUrl, url=token.attrs.get("href")) elif token.type in ("s_close", "s_open"): push(MessageEntityStrike) + elif token.type in ("details_close", "details_open"): + push(MessageEntitySpoiler) elif token.type == "softbreak": message += "\n" elif token.type in ("strong_close", "strong_open"):