From 14d4e5ea6ae1392a723cf674add02fb36ce3aa67 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Fri, 16 Feb 2018 17:36:20 +0200 Subject: [PATCH] Add protocol to links if its missing. Fixes #69 --- mautrix_telegram/formatter.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/mautrix_telegram/formatter.py b/mautrix_telegram/formatter.py index 824dc96e..21236b4f 100644 --- a/mautrix_telegram/formatter.py +++ b/mautrix_telegram/formatter.py @@ -353,10 +353,11 @@ def _telegram_to_matrix(text, entities): skip_entity = True elif entity_type == MessageEntityEmail: html.append(f"{entity_text}") - elif entity_type == MessageEntityUrl: - html.append(f"{entity_text}") - elif entity_type == MessageEntityTextUrl: - html.append(f"{entity_text}") + elif entity_type in {MessageEntityTextUrl, MessageEntityUrl}: + url = escape(entity.url) if entity_type == MessageEntityTextUrl else entity_text + if not url.startswith(("https://", "http://", "ftp://", "magnet://")): + url = "http://" + url + html.append(f"{entity_text}") elif entity_type == MessageEntityBotCommand: html.append(f"!{entity_text[1:]}") elif entity_type == MessageEntityHashtag: