CopyPastor

Detecting plagiarism made easy.

Score: 1; Reported for: Exact paragraph match Open both answers

Possible Plagiarism

Plagiarized on 2025-10-23
by extazzydouble

Original Post

Original - Posted on 2025-01-04
by tegularis



            
Present in both answers; Present only in the new answer; Present only in the old answer;

The user's previous answer is correct, but he forgot to mention the most important point - custom markdown.
```
from telethon.sync import TelegramClient from telethon.extensions import markdown from telethon import types
class CustomMarkdown: @staticmethod def parse(text): text, entities = markdown.parse(text) for i, e in enumerate(entities): if isinstance(e, types.MessageEntityTextUrl): if e.url == 'spoiler': entities[i] = types.MessageEntitySpoiler(e.offset, e.length) elif e.url.startswith('emoji/'): try: doc_id = int(e.url.split('/')[1]) entities[i] = types.MessageEntityCustomEmoji(e.offset, e.length, document_id=doc_id) except (ValueError, IndexError): pass return text, entities
@staticmethod def unparse(text, entities): for i, e in enumerate(entities or []): if isinstance(e, types.MessageEntityCustomEmoji): entities[i] = types.MessageEntityTextUrl(e.offset, e.length, f'emoji/{e.document_id}') if isinstance(e, types.MessageEntitySpoiler): entities[i] = types.MessageEntityTextUrl(e.offset, e.length, 'spoiler') return markdown.unparse(text, entities)
```
``` user_client = TelegramClient('user_session', API_ID, API_HASH) user_client.parse_mode = CustomMarkdown() ```
**How to send premium emoji with Telethon client.**
1. Create custom parser: ``` from telethon.extensions import html from telethon import types

class CustomHtml: @staticmethod def parse(text): text, entities = html.parse(text) for i, e in enumerate(entities): if isinstance(e, types.MessageEntityTextUrl): if e.url == 'spoiler': entities[i] = types.MessageEntitySpoiler(e.offset, e.length) elif e.url.startswith('emoji/'): entities[i] = types.MessageEntityCustomEmoji(e.offset, e.length, int(e.url.split('/')[1])) return text, entities
@staticmethod def unparse(text, entities): for i, e in enumerate(entities or []): if isinstance(e, types.MessageEntityCustomEmoji): entities[i] = types.MessageEntityTextUrl(e.offset, e.length, f'emoji/{e.document_id}') if isinstance(e, types.MessageEntitySpoiler): entities[i] = types.MessageEntityTextUrl(e.offset, e.length, 'spoiler') return html.unparse(text, entities) ```
2. Set Telethon client`s parse mode: ``` client.parse_mode = CustomHtml() ``` 3. **Following HTML tags will be parsed as premium emoji** when sending message *if account in use has active premium subscription*: ``` emoji_text = '<a href="emoji/{emoji_id}">{emoji_symbol}</a>' await client.send_message( entity=entity, message=emoji_text ) ```

        
Present in both answers; Present only in the new answer; Present only in the old answer;