Telegram ботыБоты
Форматирование текста, работа с документами (файлами), отправка фотографий и альбомов в Telegram-боте на Python
Содержание страницы
В данной статье мы рассмотрим основные аспекты форматирования текста, работы с документами и отправки фотографий или альбомов в Telegram-боте, используя Python и библиотеку Aiogram.
Форматирование текста
Telegram поддерживает три вида форматирования текста: Markdown, MarkdownV2 и HTML.
Примеры форматирования текста:
- Markdown:
text = """
*Жирный текст*
_Курсив_
[Ссылка](https://example.com)
`Код`
"""
- MarkdownV2:
text = """
\\*Жирный текст\\*
_Курсив_
[Ссылка](https://example.com)
`Код`
- 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.