Как выгрузити файл?¶
Как утверждает official Telegram Bot API documentation существует три способа отправить файл (фото, стикеры, аудио, медиа и т.д.):
Если файл уже зберигаеться десь на серверах Telegram или файл доступний за URL-адресою, вам не нужно его повторно завантажувати.
Но если вам нужно скачать новий файл, просто используйте пидкласи InputFile.
Тут доступни три ризни типы вхидних файлов:
litegram.types.input_file.FSInputFile- видвантажений с файловои системиlitegram.types.input_file.BufferedInputFile- видвантажений с буферуlitegram.types.input_file.URLInputFile- видвантажений с URL
Предупреждение
Поважайте Telegram
Экземпляры InputFile можно использовать повторно. Это означае, что вы можете создать экземпляр InputFile и отправить этот файл несколько разив, но Telegram не рекомендуе этого робити, и когда вы завантажуете файл один раз, просто збережить его file_id и используйте его наступного разу.
Видваниження с файловои системи¶
Перш за все, вам нужно будет импортувати обгортку InputFile:
from litegram.types import FSInputFile
Тепер вы можетте использовать её:
cat = FSInputFile("cat.png")
agenda = FSInputFile("my-document.pdf", filename="agenda-2019-11-19.pdf")
- class litegram.types.input_file.FSInputFile(path: str | Path, filename: str | None = None, chunk_size: int = 65536)[исходный код]
- __init__(path: str | Path, filename: str | None = None, chunk_size: int = 65536)[исходный код]
Об’ект для выгруження файлов из файловои системи
- Параметры:
path – Путь к файлу
filename – Ім’я файлу, которое будет передано в telegram. За замовчуванням, будет взято зи шляху
chunk_size – Розмир фрагмени выгруження
Видваниження с буферу¶
Файли также можно передавати с буфера (например, вы створюете зображення с помощью Pillow и хотите отправить его в Telegram):
Імпорт обгортки:
from litegram.types import BufferedInputFile
Тепер вы можетте использовать её:
text_file = BufferedInputFile(b"Hello, world!", filename="file.txt")
- class litegram.types.input_file.BufferedInputFile(file: bytes, filename: str, chunk_size: int = 65536)[исходный код]
- __init__(file: bytes, filename: str, chunk_size: int = 65536)[исходный код]
Об’ект для выгруження файлов из файловои системи
- Параметры:
file – Байти
filename – Ім’я файлу, которое будет передано в telegram.
chunk_size – Розмир фрагмени выгруження
Видваниження с URL¶
Если вам нужно видвантажити файл с иншого сервера, но пряме ссылку прив’язано к IP-адреси вашого сервера, или вы хотите обийти собственные обмеження на загрузка <https://core.telegram.org/bots/api#sending-files> `_ за URL-адресою, вы можете использовать :obj:`litegram.types.input_file.URLInputFile.
Імпорт обгортки:
from litegram.types import URLInputFile
Тепер вы можетте использовать её:
image = URLInputFile(
"https://www.python.org/static/community_logos/python-powered-h-140x182.png",
filename="python-logo.png"
)