Как отправить файл в бот telegram?
Я пишу бот Telegram и мне нужно отправлять файлы пользователям. я хочу получить file_id
файлов, которые я хочу отправить. Я слежу за этим ответом.
Получить file_id
Я должен отправить файл своему боту Telegram. Вопрос в том, как отправить файлы через мой бот самому себе? (может быть, используя API?)
1 ответ
Вы можете отправлять файлы без file_id
:
Существует три способа отправки файлов (фотографии, наклейки, аудио, мультимедиа и т. Д.):
- Если файл уже хранится где-то на серверах Telegram, вам не нужно его повторно загружать: каждый объект файла имеет поле file_id, просто передайте этот file_id в качестве параметра вместо загрузки. Для файлов, отправляемых таким способом, ограничений нет.
- Предоставьте Telegram URL-адрес HTTP для отправляемого файла. Telegram загрузит и отправит файл. Максимальный размер 5 МБ для фотографий и 20 МБ для других типов контента.
- Разместите файл, используя multipart/form-data обычным способом, который файлы загружаются через браузер. Максимальный размер 10 МБ для фотографий, 50 МБ для других файлов
Ты можешь использовать file_id
только если вы уже отправили его кому-то ранее (используя URL или multipart/form-data).
Таким образом, если список файлов, которые вы хотите отправить, является предопределенным, "статическим", вы можете загрузить их все один раз, получить их file_id
х (используя getUpdates
метод, например), хранить ассоциации между файлами и их соответствующими file_id
и, наконец, ваш бот может использовать только file_id
общаться с пользователями.
С другой стороны, если список возможных файлов варьируется, вы можете отправлять файлы только через URL или multipart/form-data.