diff --git a/heroku/modules/help.py b/heroku/modules/help.py index aaff2f5..43f2d69 100644 --- a/heroku/modules/help.py +++ b/heroku/modules/help.py @@ -333,7 +333,7 @@ class Help(loader.Module): await utils.answer( message, - (self.config["desc_icon"] + " {}\n
{}
{}
").format( + (self.config["desc_icon"] + " {}\n
{}
{}
").format( reply, "".join(core_ + plain_ + (no_commands_ if force else [])), ( diff --git a/heroku/tl/utils.py b/heroku/tl/utils.py deleted file mode 100644 index 1e61492..0000000 --- a/heroku/tl/utils.py +++ /dev/null @@ -1,146 +0,0 @@ -""" -Simple HTML -> Telegram entity parser. -""" -import struct -from collections import deque -from html.parser import HTMLParser -from typing import Tuple, List - -from herokutl import helpers -from herokutl.tl.types import ( - MessageEntityBold, MessageEntityItalic, MessageEntityCode, - MessageEntityPre, MessageEntityEmail, MessageEntityUrl, - MessageEntityTextUrl, MessageEntityUnderline, - MessageEntityStrike, MessageEntityBlockquote, - TypeMessageEntity, MessageEntityCustomEmoji, MessageEntitySpoiler -) - - -# Helpers from markdown.py -def _add_surrogate(text): - return ''.join( - ''.join(chr(y) for y in struct.unpack(' tag, this tag is - # probably intended for syntax highlighting. - # - # Syntax highlighting is set with - # codeblock - # inside
 tags
-                pre = self._building_entities['pre']
-                try:
-                    pre.language = attrs['class'][len('language-'):]
-                except KeyError:
-                    pass
-            except KeyError:
-                EntityType = MessageEntityCode
-        elif tag == 'pre':
-            EntityType = MessageEntityPre
-            args["language"] = ''
-        elif tag == 'a':
-            try:
-                url = attrs['href']
-            except KeyError:
-                return
-            if url.startswith('mailto:'):
-                url = url[len('mailto:'):]
-                EntityType = MessageEntityEmail
-            else:
-                if self.get_starttag_text() == url:
-                    EntityType = MessageEntityUrl
-                else:
-                    EntityType = MessageEntityTextUrl
-                    args['url'] = _del_surrogate(url)
-                    url = None
-            self._open_tags_meta.popleft()
-            self._open_tags_meta.appendleft(url)
-        elif tag == "emoji" and CUSTOM_EMOJIS:
-            EntityType = MessageEntityCustomEmoji
-            args["document_id"] = int(attrs["document_id"])
-
-        if EntityType and tag not in self._building_entities:
-            self._building_entities[tag] = EntityType(
-                offset=len(self.text),
-                # The length will be determined when closing the tag.
-                length=0,
-                **args)
-
-    def handle_data(self, text):
-        previous_tag = self._open_tags[0] if len(self._open_tags) > 0 else ''
-        if previous_tag == 'a':
-            url = self._open_tags_meta[0]
-            if url:
-                text = url
-
-        for tag, entity in self._building_entities.items():
-            entity.length += len(text)
-
-        self.text += text
-
-    def handle_endtag(self, tag):
-        try:
-            self._open_tags.popleft()
-            self._open_tags_meta.popleft()
-        except IndexError:
-            pass
-        entity = self._building_entities.pop(tag, None)
-        if entity:
-            self.entities.append(entity)
-
-
-def parse(html: str) -> Tuple[str, List[TypeMessageEntity]]:
-    """
-    Parses the given HTML message and returns its stripped representation
-    plus a list of the MessageEntity's that were found.
-
-    :param html: the message with HTML to be parsed.
-    :return: a tuple consisting of (clean message, [message entities]).
-    """
-    if not html:
-        return html, []
-
-    parser = HTMLToTelegramParser()
-    parser.feed(_add_surrogate(html))
-    text = helpers.strip_text(parser.text, parser.entities)
-    return _del_surrogate(text), parser.entities
-
-
-CUSTOM_EMOJIS = True  # Can be disabled externally
\ No newline at end of file
diff --git a/heroku/utils.py b/heroku/utils.py
index f9acf3b..55f5e1a 100644
--- a/heroku/utils.py
+++ b/heroku/utils.py
@@ -106,10 +106,6 @@ from ._internal import fw_protect
 from .inline.types import BotInlineCall, InlineCall, InlineMessage
 from .tl_cache import CustomTelegramClient
 from .types import HerokuReplyMarkup, ListLike, Module
-############# Temporary bypass of the original parser
-from .tl.utils import parse
-herokutl.extensions.html.parse = parse
-############# Issue: https://github.com/LonamiWebs/Telethon/issues/4627
 
 FormattingEntity = typing.Union[
     MessageEntityUnknown,