В библиотеке Pyrogram для работы с Telegram API есть встроенная поддержка Markdown и HTML разметок. Когда вы получаете сообщения из чата, они уже приходят с возможными разметками, зависящими от того, как они были отправлены.
Чтобы в Pyrogram обработать сообщение с Markdown разметкой, вам необходимо использовать аргумент `parse_mode` при отправке сообщений. Например:
```python
from pyrogram import Client
app = Client("my_account")
with app:
app.send_message(chat_id, text="**bold text** _italic text_", parse_mode="markdown")
```
Если вам нужно получить уже существующее сообщение из чата и вы хотите как-то обработать Markdown-разметку в этом тексте, Pyrogram не предоставляет прямого функционала для парсинга. Однако, вы можете обратиться к `message.entities` или `message.caption_entities`, если сообщение содержит текст или подпись соответственно. Эти свойства содержат список сущностей (например, жирный текст, курсив, ссылки и т.д.), которые могут быть использованы для анализа и обработки текста.
Пример кода для извлечения Markdown-разметки из входящего сообщения:
```python
from pyrogram import Client
app = Client("my_account")
@app.on_message()
def handle(client, message):
text = message.text
entities = message.entities # List of MessageEntity objects
if entities:
for entity in entities:
# здесь можно обработать каждую сущность
# например, вывести тип сущности и соответствующий ей текст
entity_type = entity.type
start = entity.offset
end = start + entity.length
entity_text = text[start:end]
print(f"Entity type: {entity_type}, text: {entity_text}")
app.run() # Запускаем бота
```
В примере выше обработчик `handle` получает текст сообщений и соответствующие им сущности, затем в цикле обрабатывает их и выводит на экран.
Обратите внимание, что Pyrogram может автоматически парсить Markdown-разметку при отправке сообщений (как показано на первом примере), но когда речь идет о получении и обработке входящих сообщений, вам потребуется самостоятельно обработать сущности в соответствии с вашими потребностями.