Как отправить файл через Telegram Bot - PullRequest
0 голосов
/ 02 апреля 2019

Мне нужно отправить txt-файл с помощью TelegramBot API.

Я уже пробовал https://api.telegram.org/botMYT0KEN/sendDocument?chat_id=569502265&document=/Users/users/Desktop/file.txt

и есть проблема:

{"ok": false, "error_code": 400, "description": "Bad Request: неправильный пульт указан идентификатор файла: неверная длина строки ”}

Ответы [ 2 ]

0 голосов
/ 13 мая 2019

Чтобы завершить ответ Донни, я хотел бы добавить пример отправки файла .txt в качестве документа.

Похоже, вы используете OS X в качестве операционной системы, которая имеет утилиту curlпредустановлен.

Откройте терминал и сделайте запрос вот так:

curl -v -F "chat_id=569502265" -F document=@/Users/users/Desktop/file.txt https://api.telegram.org/bot<TOKEN>/sendDocument
0 голосов
/ 02 апреля 2019

Из официальной документации Telegram

Отправка файлов Существует три способа отправки файлов (фотографии, наклейки, аудио, мультимедиа и т. Д.):

Если файл уже хранится где-то на серверах Telegram, вы не нужно перезагружать его: каждый объект файла имеет поле file_id, просто передайте этот file_id в качестве параметра вместо загрузки. Там нет ограничений для файлов, отправляемых таким образом. Предоставить Telegram HTTP URL для файла, который будет отправлен. Telegram загрузит и отправит файл. Максимальный размер 5 МБ для фотографий и 20 МБ для других типов контента. Разместите файл, используя multipart / form-data обычным способом, как файлы загружаются через браузер. Максимальный размер 10 МБ для фотографий, 50 МБ для другие файлы. Отправка по file_id

Невозможно изменить тип файла при повторной отправке по file_id. То есть видео не может быть отправлено как фотография, фото не может быть отправлено как документ и т. д. Невозможно отправить миниатюры повторно. Повторная отправка фото по file_id вышлет все его размеры. file_id уникален для каждый отдельный бот и не может быть передан от одного бота к другому. Отправка по URL

При отправке по URL целевой файл должен иметь правильный тип MIME (например, аудио / MPEG для sendAudio и т. д.). В sendDocument, отправка URL в настоящее время будет работать только для файлов gif, pdf и zip. Использовать sendVoice, файл должен иметь тип audio / ogg и быть не более 1 МБ в размере. Голосовые заметки объемом 1–20 МБ будут отправлены в виде файлов. Другой конфигурации могут работать, но мы не можем гарантировать, что они будут работать.

https://core.telegram.org/bots/api

Это то, что вам нужно от вашего вопроса:

Разместите файл, используя multipart / form-data обычным способом, как файлы загружаются через браузер. Максимальный размер 10 МБ для фотографий, 50 МБ для другие файлы

...