En este corto tutorial de Python con Bots de Telegram vamos a ver cómo enviar una foto del almacenamiento usando Python hacia Telegram a nombre de un Bot usando solo el paquete requests.
Vamos a consumir la API de Bots de Telegram para enviar una foto con Python.
Python y Bot de Telegram – Subir foto
Abrimos la foto a partir de su nombre con open
(en mi caso la imagen a subir es f.png
) y luego la enviamos como archivo con la clave photo
usando requests.post
. Además de la foto podemos incluir una descripción en la clave caption
.
El código de Python es el siguiente:
import requests
token_bot = "Aquí va el token de tu Bot"
id_chat = "Aquí va el id de chat al que quieres enviar la foto"
url = f"https://api.telegram.org/bot{token_bot}/sendphoto"
with open("f.png", "rb") as foto:
peticion = requests.post(url, files={"photo": foto}, data={
'chat_id': id_chat, "caption": "hola"})
print(peticion)
Al ejecutar el código se va a invocar al endpoint sendphoto de Telegram enviándole la foto como archivo y la descripción de la misma dentro de caption
. El código es realmente simple y no necesitamos librerías adicionales además de requests.
Yo he usado este fragmento de código para mejorar mi cámara de vigilancia con Telegram.