diff --git a/mautrix_telegram/formatter/from_telegram.py b/mautrix_telegram/formatter/from_telegram.py index b5919cd6..80519ab8 100644 --- a/mautrix_telegram/formatter/from_telegram.py +++ b/mautrix_telegram/formatter/from_telegram.py @@ -176,7 +176,8 @@ def _telegram_entities_to_matrix(text, entities): elif entity_type == MessageEntityEmail: html.append(f"{entity_text}") elif entity_type in {MessageEntityTextUrl, MessageEntityUrl}: - skip_entity = _parse_url(html, entity_text, entity_type, entity.url) + skip_entity = _parse_url(html, entity_text, + entity.url if entity_type == MessageEntityTextUrl else None) elif entity_type == MessageEntityBotCommand: html.append(f"!{entity_text[1:]}") elif entity_type == MessageEntityHashtag: @@ -230,8 +231,8 @@ def _parse_name_mention(html, entity_text, user_id): return False -def _parse_url(html, entity_text, entity_type, url): - url = escape(url) if entity_type == MessageEntityTextUrl else entity_text +def _parse_url(html, entity_text, url): + url = escape(url) if url else entity_text if not url.startswith(("https://", "http://", "ftp://", "magnet://")): url = "http://" + url html.append(f"{entity_text}")