@Anire1985

Как отправить фото в телеграм через requests?

Пишу парсер сайта для отслеживания цены и по заданному времени отправляю отчёт в Телеграм если цена упала.
Есть хороший код для отправки текстового сообщения:

def send_telegram(text: str):
    token = "MY_TOKEN"
    url = "https://api.telegram.org/bot"
    channel_id = "MY_CHANNELID"
    url += token
    method = url + "/sendMessage"
    r = requests.post(method, data={
         "chat_id": channel_id,
         "text": text
          })
    if r.status_code != 200:
        raise Exception("post_text error")


как используя ту же конструкцию отправить фото, либо с компа либо напрямую с сайта.
  • Вопрос задан
  • 1888 просмотров
Решения вопроса 1
@Anire1985 Автор вопроса
Ответ нашёл. Оставлю готовый код:
import requests
def send_photo_telegram():
    files = {'photo': open('sity.jpg', 'rb')}
    token = "ТОКЕН БОТА"
    chat_id = "ЧАТ ID" # если у вас группа то будет так chat_id = "-1009999999"
    r = requests.post("https://api.telegram.org/bot"+token+"/sendPhoto?chat_id=" + chat_id, files=files)
    if r.status_code != 200:
        raise Exception("post_text error")
send_photo_telegram()
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
LazyTalent
@LazyTalent
Data Engineer, Freelancer
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы