Telegram ботыБоты

Форматирование текста, работа с документами (файлами), отправка фотографий и альбомов в Telegram-боте на Python

В данной статье мы рассмотрим основные аспекты форматирования текста, работы с документами и отправки фотографий или альбомов в Telegram-боте, используя Python и библиотеку Aiogram.

Форматирование текста

Telegram поддерживает три вида форматирования текста: Markdown, MarkdownV2 и HTML.

Примеры форматирования текста:

  1. Markdown:
text = """
*Жирный текст*
_Курсив_
[Ссылка](https://example.com)
`Код`
"""
  1. MarkdownV2:
text = """
\\*Жирный текст\\*
_Курсив_
[Ссылка](https://example.com)
`Код`
  1. HTML:
text = """
<b>Жирный текст</b>
<i>Курсив</i>
<a href="https://example.com">Ссылка</a>
<code>Код</code>

Отправка текста с форматированием:

from aiogram.types import ParseMode

await bot.send_message(chat_id=chat_id, text=text, parse_mode=ParseMode.MARKDOWN)

Работа с документами (файлами)

Для отправки документов воспользуйтесь методом send_document.

file_path = 'path/to/your/file.txt'
with open(file_path, 'rb') as file:
    await bot.send_document(chat_id=chat_id, document=file)

Отправка фотографий

Чтобы отправить фотографию, используйте метод send_photo.

photo_path = 'path/to/your/photo.jpg'
with open(photo_path, 'rb') as photo:
    await bot.send_photo(chat_id=chat_id, photo=photo)

Отправка альбомов

Альбомы представляют собой медиагруппы, состоящие из нескольких фотографий или видео.

from aiogram.types import InputMediaPhoto

photo_paths = ['path/to/your/photo1.jpg', 'path/to/your/photo2.jpg', 'path/to/your/photo3.jpg']

media_group = [InputMediaPhoto(open(photo_path, 'rb')) for photo_path in photo_paths]

await bot.send_media_group(chat_id=chat_id, media=media_group)

Обратите внимание, что после использования send_media_group, файлы нужно закрыть:

for photo in media_group:
    photo.media.close()

Теперь вы знакомы с основными аспектами форматирования текста, работы с документами и отправки фотографий или альбомов в вашем Telegram-боте на Python.

Оцените статью

Добавить комментарий

Back to top button