This commit is contained in:
Zaid _ 2024-06-20 17:06:19 +03:00
parent c909221042
commit b3e6987654
2 changed files with 5 additions and 2 deletions

View File

@ -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: ("<u>", "</u>"),
MessageEntityStrike: ("<del>", "</del>"),
MessageEntityBlockquote: ("<blockquote>", "</blockquote>"),
MessageEntitySpoiler: ("<spoiler>", "</spoiler>"),
MessageEntitySpoiler: ("<details>", "</details>"),
MessageEntityPre: lambda e, _: (
'<pre><code class="language-{}">'.format(e.language) if e.language else "<pre>",
"</code></pre>" if e.language else "</pre>",

View File

@ -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"):