From 962949008fb79158dc95a6f9dc3752bf02689256 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Sun, 23 Jun 2019 21:35:33 +0200 Subject: [PATCH] Add new message entities to markdown/html parsers --- telethon/extensions/html.py | 15 ++++++++++++++- telethon/extensions/markdown.py | 4 +++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/telethon/extensions/html.py b/telethon/extensions/html.py index 12b8cc3c..1ea81029 100644 --- a/telethon/extensions/html.py +++ b/telethon/extensions/html.py @@ -10,7 +10,8 @@ from .. import helpers from ..tl.types import ( MessageEntityBold, MessageEntityItalic, MessageEntityCode, MessageEntityPre, MessageEntityEmail, MessageEntityUrl, - MessageEntityTextUrl, MessageEntityMentionName + MessageEntityTextUrl, MessageEntityMentionName, + MessageEntityUnderline, MessageEntityStrike, MessageEntityBlockquote ) @@ -46,6 +47,12 @@ class HTMLToTelegramParser(HTMLParser): EntityType = MessageEntityBold elif tag == 'em' or tag == 'i': EntityType = MessageEntityItalic + elif tag == 'u': + EntityType = MessageEntityUnderline + elif tag == 'del' or tag == 's': + EntityType = MessageEntityStrike + elif tag == 'blockquote': + EntityType = MessageEntityBlockquote elif tag == 'code': try: # If we're in the middle of a
 tag, this  tag is
@@ -162,6 +169,12 @@ def unparse(text, entities):
             html.append('{}'.format(entity_text))
         elif entity_type == MessageEntityCode:
             html.append('{}'.format(entity_text))
+        elif entity_type == MessageEntityUnderline:
+            html.append('{}'.format(entity_text))
+        elif entity_type == MessageEntityStrike:
+            html.append('{}'.format(entity_text))
+        elif entity_type == MessageEntityBlockquote:
+            html.append('
{}
'.format(entity_text)) elif entity_type == MessageEntityPre: if entity.language: html.append( diff --git a/telethon/extensions/markdown.py b/telethon/extensions/markdown.py index b63dc234..8b94c0f5 100644 --- a/telethon/extensions/markdown.py +++ b/telethon/extensions/markdown.py @@ -9,12 +9,14 @@ from ..helpers import add_surrogate, del_surrogate, strip_text from ..tl import TLObject from ..tl.types import ( MessageEntityBold, MessageEntityItalic, MessageEntityCode, - MessageEntityPre, MessageEntityTextUrl, MessageEntityMentionName + MessageEntityPre, MessageEntityTextUrl, MessageEntityMentionName, + MessageEntityStrike ) DEFAULT_DELIMITERS = { '**': MessageEntityBold, '__': MessageEntityItalic, + '~~': MessageEntityStrike, '`': MessageEntityCode, '```': MessageEntityPre }