discord-rich-presence-plex/services/imgur.py
2022-05-12 14:26:08 +05:30

18 lines
628 B
Python

from models.imgur import ImgurUploadResponse
from services.config import config
from typing import Optional
from utils.logging import logger
import requests
def uploadImage(url: str) -> Optional[str]:
try:
data: ImgurUploadResponse = requests.post(
"https://api.imgur.com/3/image",
headers = { "Authorization": f"Client-ID {config['display']['posters']['imgurClientID']}" },
files = { "image": requests.get(url).content }
).json()
if not data["success"]:
raise Exception(data["data"]["error"])
return data["data"]["link"]
except:
logger.exception("An unexpected error occured while uploading an image")