mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-08-07 13:34:59 +03:00
Add name mention formating to HTML and Markdown
This commit is contained in:
parent
c2966297f1
commit
0dc890e371
|
@ -9,8 +9,8 @@ from html.parser import HTMLParser
|
||||||
from ..tl.types import (
|
from ..tl.types import (
|
||||||
MessageEntityBold, MessageEntityItalic, MessageEntityCode,
|
MessageEntityBold, MessageEntityItalic, MessageEntityCode,
|
||||||
MessageEntityPre, MessageEntityEmail, MessageEntityUrl,
|
MessageEntityPre, MessageEntityEmail, MessageEntityUrl,
|
||||||
MessageEntityTextUrl
|
MessageEntityTextUrl,
|
||||||
)
|
MessageEntityMentionName)
|
||||||
|
|
||||||
|
|
||||||
# Helpers from markdown.py
|
# Helpers from markdown.py
|
||||||
|
@ -178,6 +178,9 @@ def unparse(text, entities):
|
||||||
elif entity_type == MessageEntityTextUrl:
|
elif entity_type == MessageEntityTextUrl:
|
||||||
html.append('<a href="{}">{}</a>'
|
html.append('<a href="{}">{}</a>'
|
||||||
.format(escape(entity.url), entity_text))
|
.format(escape(entity.url), entity_text))
|
||||||
|
elif entity_type == MessageEntityMentionName:
|
||||||
|
html.append('<a href="{}">{}</a>'
|
||||||
|
.format(entity.user_id, entity_text))
|
||||||
else:
|
else:
|
||||||
skip_entity = True
|
skip_entity = True
|
||||||
last_offset = entity.offset + (0 if skip_entity else entity.length)
|
last_offset = entity.offset + (0 if skip_entity else entity.length)
|
||||||
|
|
|
@ -9,8 +9,8 @@ from ..helpers import add_surrogate, del_surrogate
|
||||||
from ..tl import TLObject
|
from ..tl import TLObject
|
||||||
from ..tl.types import (
|
from ..tl.types import (
|
||||||
MessageEntityBold, MessageEntityItalic, MessageEntityCode,
|
MessageEntityBold, MessageEntityItalic, MessageEntityCode,
|
||||||
MessageEntityPre, MessageEntityTextUrl
|
MessageEntityPre, MessageEntityTextUrl,
|
||||||
)
|
MessageEntityMentionName)
|
||||||
|
|
||||||
DEFAULT_DELIMITERS = {
|
DEFAULT_DELIMITERS = {
|
||||||
'**': MessageEntityBold,
|
'**': MessageEntityBold,
|
||||||
|
@ -120,9 +120,9 @@ def parse(message, delimiters=None, url_re=None):
|
||||||
# If this is the case, we want to insert the delimiter character back.
|
# If this is the case, we want to insert the delimiter character back.
|
||||||
if current is not None:
|
if current is not None:
|
||||||
message = (
|
message = (
|
||||||
message[:current.offset]
|
message[:current.offset]
|
||||||
+ end_delimiter
|
+ end_delimiter
|
||||||
+ message[current.offset:]
|
+ message[current.offset:]
|
||||||
)
|
)
|
||||||
|
|
||||||
return del_surrogate(message), result
|
return del_surrogate(message), result
|
||||||
|
@ -163,9 +163,12 @@ def unparse(text, entities, delimiters=None, url_fmt=None):
|
||||||
text = text[:s] + delimiter + text[s:e] + delimiter + text[e:]
|
text = text[:s] + delimiter + text[s:e] + delimiter + text[e:]
|
||||||
elif isinstance(entity, MessageEntityTextUrl) and url_fmt:
|
elif isinstance(entity, MessageEntityTextUrl) and url_fmt:
|
||||||
text = (
|
text = (
|
||||||
text[:s] +
|
text[:s] +
|
||||||
add_surrogate(url_fmt.format(text[s:e], entity.url)) +
|
add_surrogate(url_fmt.format(text[s:e], entity.url)) +
|
||||||
text[e:]
|
text[e:]
|
||||||
)
|
)
|
||||||
|
elif isinstance(entity, MessageEntityMentionName):
|
||||||
|
text = text[:entity.offset] + "[{}](tg://user?id={})".format(
|
||||||
|
text[entity.offset:entity.offset + entity.length], entity.user_id) + text[
|
||||||
|
entity.offset + entity.length:]
|
||||||
return del_surrogate(text)
|
return del_surrogate(text)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user