add spoiler, strike and underline

- markdown ||spoiler||
- html <spoiler>spoiler</spoiler>
- html <strike>strike</strike>
- markdown --underline--
This commit is contained in:
illvart 2022-12-20 17:53:54 +07:00
parent e750eb7ab5
commit 2084fd66af
2 changed files with 14 additions and 4 deletions

View File

@ -12,7 +12,7 @@ from ..tl.types import (
MessageEntityBold, MessageEntityItalic, MessageEntityCode,
MessageEntityPre, MessageEntityEmail, MessageEntityUrl,
MessageEntityTextUrl, MessageEntityMentionName,
MessageEntityUnderline, MessageEntityStrike, MessageEntityBlockquote,
MessageEntityUnderline, MessageEntityStrike, MessageEntityBlockquote, MessageEntitySpoiler,
TypeMessageEntity
)
@ -51,10 +51,12 @@ 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 == 'blockquote':
EntityType = MessageEntityBlockquote
elif tag == 'spoiler':
EntityType = MessageEntitySpoiler
elif tag == 'code':
try:
# If we're in the middle of a <pre> tag, this <code> tag is
@ -195,8 +197,14 @@ def unparse(text: str, entities: Iterable[TypeMessageEntity], _offset: int = 0,
html.append('<u>{}</u>'.format(entity_text))
elif entity_type == MessageEntityStrike:
html.append('<del>{}</del>'.format(entity_text))
elif entity_type == MessageEntityStrike:
html.append('<s>{}</s>'.format(entity_text))
elif entity_type == MessageEntityStrike:
html.append('<strike>{}</strike>'.format(entity_text))
elif entity_type == MessageEntityBlockquote:
html.append('<blockquote>{}</blockquote>'.format(entity_text))
elif entity_type == MessageEntitySpoiler:
html.append('<spoiler>{}</spoiler>'.format(entity_text))
elif entity_type == MessageEntityPre:
if entity.language:
html.append(

View File

@ -11,7 +11,7 @@ from ..tl import TLObject
from ..tl.types import (
MessageEntityBold, MessageEntityItalic, MessageEntityCode,
MessageEntityPre, MessageEntityTextUrl, MessageEntityMentionName,
MessageEntityStrike
MessageEntityStrike, MessageEntityUnderline, MessageEntitySpoiler
)
DEFAULT_DELIMITERS = {
@ -19,7 +19,9 @@ DEFAULT_DELIMITERS = {
'__': MessageEntityItalic,
'~~': MessageEntityStrike,
'`': MessageEntityCode,
'```': MessageEntityPre
'```': MessageEntityPre,
'--': MessageEntityUnderline,
'||': MessageEntitySpoiler
}
DEFAULT_URL_RE = re.compile(r'\[([^\]]+)\]\(([^)]+)\)')