Как отправить файл боту Telegram через HTTP? - PullRequest
0 голосов
/ 21 февраля 2019

Я хочу отправить файл через http Telegram API и попробовать этот код:

def send_media(self, chat_id, doc):
    method = 'sendDocument'
    params = {'chat_id': chat_id, 'document': doc}
    resp = requests.post(self.api_url + method, params)
    return resp
 document = open('table.csv', 'rb')
 doc = InputFile(document)
 bot.send_media(last_chat_id, doc).json()
 document.close()

И по запросу появляется такая ошибка:

 {'ok': False, 'error_code': 400, 'description': 'Bad Request: wrong URL host'}

Что мне нужно сделать, чтобы отправить файл

1 Ответ

0 голосов
/ 21 февраля 2019

Проблема здесь заключается в неправильном использовании запросов библиотеки, если вы отправляете multipart/form-data и файлы, вы должны использовать параметр files.

Например,

requests.post(self.api_url + method, data={'chat_id': chat_id}, files={'document': document})

Ссылка на документацию - http://docs.python -requests.org / en / master / user / quickstart / # post-a-multipart-encoded-файл

...