mirror of
				https://github.com/LonamiWebs/Telethon.git
				synced 2025-11-04 09:57:29 +03:00 
			
		
		
		
	Add name mention formatting to HTML and Markdown (#1019)
This commit is contained in:
		
							parent
							
								
									2468b32fc5
								
							
						
					
					
						commit
						340f5614b5
					
				| 
						 | 
					@ -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="tg://user?id={}">{}</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,
 | 
				
			||||||
| 
						 | 
					@ -161,10 +161,16 @@ def unparse(text, entities, delimiters=None, url_fmt=None):
 | 
				
			||||||
        delimiter = delimiters.get(type(entity), None)
 | 
					        delimiter = delimiters.get(type(entity), None)
 | 
				
			||||||
        if delimiter:
 | 
					        if delimiter:
 | 
				
			||||||
            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 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 = (
 | 
				
			||||||
                    text[:s] +
 | 
					                    text[:s] +
 | 
				
			||||||
                add_surrogate(url_fmt.format(text[s:e], entity.url)) +
 | 
					                    add_surrogate(url_fmt.format(text[s:e], url)) +
 | 
				
			||||||
                    text[e:]
 | 
					                    text[e:]
 | 
				
			||||||
                )
 | 
					                )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user