Как отправить фото через Telegram Bot с указанием пути к файлу? - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь отправить фотографию через бот Telegram, но получаю сообщение об ошибке. У меня есть путь к файлу фотографии на моем компьютере. Возможно я не правильно указываю путь к файлу. Я получаю ошибку:

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape`. 

Который ссылается прямо перед именем пути. Вот код, который у меня есть:

import requests
import json

bot_token = 'XXXXXX'
chat_id = "-100YYYYYY"
file = "C:\Users\name\OneDrive\Desktop\Capture.PNG"

message = ('https://api.telegram.org/bot'+ bot_token + '/sendPhoto?chat_id=' 
           + chat_id + 'photo=' + file)
send = requests.get(message)

1 Ответ

1 голос
/ 27 апреля 2020

Вот как вы должны загрузить файл с помощью конечной точки sendPhoto телеграммы в python.

import requests
import json

bot_token = 'BOT TOKEN'
chat_id = "CHAT ID"
file = r"C:\Users\name\OneDrive\Desktop\Capture.PNG"

files = {
    'photo': open(file, 'rb')
}

message = ('https://api.telegram.org/bot'+ bot_token + '/sendPhoto?chat_id=' 
           + chat_id)
send = requests.post(message, files = files)
...