telegram
August 19, 2021

Как отправить фотографию с локального компьютера в телеграм без библиотек на Python

Сколько форумов и мануалов было прочитано, примеров испытано, но фотография упорно не хотела отправляться. Решение найдено на древнем форуме. Суть в том, что фотография с локального компьютера нужно передавать через параметр "files", в то время, как фотографию в виде ссылки из интернета можно передавать через параметр "data".

import requests
def send_telegram(text: str):
    token = "Токен"    
    url = "https://api.telegram.org/bot"    
    channel_id = "@Название чата"    
    url += token    
    method = url + "/sendPhoto"    
    pic = open("Data/1.png", 'rb')    
    r = requests.post(method,        
                      data={                
                            "chat_id": channel_id,                
                            "caption": text,                
                            "parse_mode": "HTML"            
                            },        
    files={            
           "photo": pic                
          })    
    if r.status_code != 200:               
         raise Exception("post_text error")
    
send_telegram("🙈")