Исправь функцию.

Ошибка:
Конечно! Вот небольшое стихотворение для тебя:
На закате вечернем свет играет,<br>
Тени длинные к солнцу тянутся.<br>
Ветер шепчет сказки, звезды сияют,<br>
Мир волшебный в тишине звучит.
Луна восходит медленно в небе,<br>
Свет её отражается в реке.<br>
Ночь обнимает землю своей тенью,<br>
Спокойствие дарит душе тепле.
Ошибка при обработке сообщения: Can't parse entities: unsupported start tag "br" at byte offset 143
Traceback (most recent call last):
  File "d:\Visual Studio\project\GPTTgBOT\main.py", line 357, in handle_message
    await send_large_message(send_bot_reply, update)
  File "d:\Visual Studio\project\GPTTgBOT\main.py", line 353, in send_large_message
    await update.message.reply_text(part, parse_mode='HTML')
  File "d:\Visual Studio\project\GPTTgBOT\.venv\Lib\site-packages	elegram\_message.py", line 1074, in reply_text
    return await self.get_bot().send_message(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "d:\Visual Studio\project\GPTTgBOT\.venv\Lib\site-packages	elegram\ext\_extbot.py", line 2633, in send_message
    return await super().send_message(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "d:\Visual Studio\project\GPTTgBOT\.venv\Lib\site-packages	elegram\_bot.py", line 381, in decorator
    result = await func(self, *args, **kwargs)  # skipcq: PYL-E1102
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "d:\Visual Studio\project\GPTTgBOT\.venv\Lib\site-packages	elegram\_bot.py", line 807, in send_message
    return await self._send_message(
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "d:\Visual Studio\project\GPTTgBOT\.venv\Lib\site-packages	elegram\ext\_extbot.py", line 507, in _send_message
    result = await super()._send_message(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "d:\Visual Studio\project\GPTTgBOT\.venv\Lib\site-packages	elegram\_bot.py", line 559, in _send_message
    result = await self._post(
             ^^^^^^^^^^^^^^^^^
  File "d:\Visual Studio\project\GPTTgBOT\.venv\Lib\site-packages	elegram\_bot.py", line 469, in _post
    return await self._do_post(
           ^^^^^^^^^^^^^^^^^^^^
  File "d:\Visual Studio\project\GPTTgBOT\.venv\Lib\site-packages	elegram\ext\_extbot.py", line 325, in _do_post
    return await super()._do_post(
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "d:\Visual Studio\project\GPTTgBOT\.venv\Lib\site-packages	elegram\_bot.py", line 497, in _do_post
    return await request.post(
           ^^^^^^^^^^^^^^^^^^^
  File "d:\Visual Studio\project\GPTTgBOT\.venv\Lib\site-packages	elegramequest\_baserequest.py", line 168, in post
    result = await self._request_wrapper(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "d:\Visual Studio\project\GPTTgBOT\.venv\Lib\site-packages	elegramequest\_baserequest.py", line 328, in _request_wrapper
    raise BadRequest(message)
telegram.error.BadRequest: Can't parse entities: unsupported start tag "br" at byte offset 143

Функция:

class TelegramHtmlEscapeExtension(Extension):
    def extendMarkdown(self, md):
        md.preprocessors.register(TelegramHtmlEscapePreprocessor(md), 'telegram_html_escape', 31)

class TelegramHtmlEscapePreprocessor(Preprocessor):
    def run(self, lines):
        text = "
".join(lines)  # Используем перенос строки для соединения строк

        # Функция для экранирования
        def escape(match):
            return html.escape(match.group(0))

        # Регулярное выражение для поиска текста между тегами
        pattern = re.compile(r'(?<=>)[^<]+(?=<)')

        # Экранирование текста между тегами
        escaped_text = pattern.sub(escape, text)

        return escaped_text.split("
")  # Возвращаем список строк

def markdown_to_telegram_html(text):
    # Параметры преобразования Markdown
    md = Markdown(
        extensions=['extra', 'codehilite', TelegramHtmlEscapeExtension()],
        output_format='html5'
    )
    html_text = md.convert(text)

    # Telegram поддерживает ограниченный набор HTML-тегов. Удалим остальные.
    allowed_tags = ['a', 'b', 'strong', 'i', 'em', 'u', 's', 'strike', 'code', 'pre', 'br']

    # Функция для удаления нежелательных тегов
    def clean_html(html_content):
        # Удаляем теги, не входящие в список разрешенных
        pattern = re.compile(r'</?(?!(' + '|'.join(allowed_tags) + r'))[^>]+>', re.IGNORECASE)
        clean = pattern.sub('', html_content)

        # Дополнительно удаляем любые оставшиеся теги <img>, если они есть
        clean = re.sub(r'<img[^>]*>', '', clean, flags=re.IGNORECASE)

        # Корректно обрабатываем ссылки
        # Исправлено на правильные группы захвата
        clean = re.sub(r'<a href="([^"]+)">([^<]+)</a>', r'<a href=""></a>', clean)

        # Заменяем тег <p> на <br> для корректных переносов строк
        clean = re.sub(r'</?p>', '<br>', clean)

        return clean

    clean_html_text = clean_html(html_text)

    # Telegram не поддерживает некоторые HTML-сущности, заменим их
    clean_html_text = clean_html_text.replace('&quot;', '"').replace('&apos;', "'")

    return clean_html_text.strip()