Отправка локально размещенной фотографии на бот Telegram - PullRequest
0 голосов
/ 13 декабря 2018

Я использую api.telegram.bot и requests для отправки сообщений и изображений.

requests.get(url + 'sendMessage', params=dict(chat_id=send_to_user_id,text="Messo"))

Это работает нормально.Пользователь моей телеграммы может получить сообщение «Messo».

Теперь я пытаюсь использовать sendPhoto для отправки изображения, размещенного на моем локальном диске.

path = "kings/test_screenie1.png"
requests.get(url + 'sendPhoto', params=dict(chat_id=send_to_user_id, photo=open(path,'rb')))

Я не получаю никаких исключений, однако мой пользователь не получает изображение.Вывод, который я получаю в блокноте Jupyter: <Response [414]>

Мой файл .ipynb, в котором выполняется этот код, находится в: /Users/abc/Desktop/webproject/play0.ipynb

Файл моего изображения находится в: /Users/abc/Desktop/webproject/kings/test_screenie1.png

Я запускаю это на Mac OS.

1 Ответ

0 голосов
/ 16 декабря 2018

Пожалуйста, попробуйте это:

requests.post(url + 'sendPhoto', data={'chat_id': send_to_user_id}, files={'photo': open('/Users/abc/Desktop/webproject/kings/test_screenie1.png', 'rb')})

Я тестировал локально на своем боте, этот подход работает для меня.

Надеюсь, работает для вас.

...