diff --git a/telethon/extensions/markdown.py b/telethon/extensions/markdown.py index cab1d6a1..be0ea507 100644 --- a/telethon/extensions/markdown.py +++ b/telethon/extensions/markdown.py @@ -161,13 +161,17 @@ def unparse(text, entities, delimiters=None, url_fmt=None): delimiter = delimiters.get(type(entity), None) if delimiter: text = text[:s] + delimiter + text[s:e] + delimiter + text[e:] - elif isinstance(entity, MessageEntityTextUrl) and url_fmt: - text = ( - text[:s] + - add_surrogate(url_fmt.format(text[s:e], entity.url)) + - text[e:] - ) - elif isinstance(entity, MessageEntityMentionName): - text = text[:s] + "[{}](tg://user?id={})".format( - text[s:e], entity.user_id) + text[e:] + elif url_fmt: + url = None + if isinstance(entity, MessageEntityTextUrl): + url = entity.url + elif isinstance(entity, MessageEntityMentionName): + url = 'tg://user?id={}'.format(entity.user_id) + if url: + text = ( + text[:s] + + add_surrogate(url_fmt.format(text[s:e], url)) + + text[e:] + ) + return del_surrogate(text)