[docs]classImage:"""Represents a class for all image endpoints."""__slots__=("_http","_url")_url:str_http:HTTPClient@classmethoddefconstruct(cls,url:str,http:HTTPClient)->Image:self=cls.__new__(cls)self._url=urlself._http=httpreturnselfdef__str__(self)->str:returnself.urlorrepr(self)@propertydefurl(self)->str:""":class:`str`: The image URL."""returngetattr(self,"_url","")@overloadasyncdefread(self,bytesio:Literal[True]=...)->io.BytesIO:...@overloadasyncdefread(self,bytesio:Literal[False]=...)->bytes:...@overloadasyncdefread(self,bytesio:bool=...)->bytes|io.BytesIO:...# noqa: FBT001
[docs]asyncdefread(self,bytesio:bool=True)->bytes|io.BytesIO:# noqa: FBT001, FBT002"""Returns the image data. Parameters ---------- bytesio: :class:`bool` Whether to return the data as a :class:`io.BytesIO` object. Defaults to ``True``. Returns ------- Union[:class:`bytes`, :class:`io.BytesIO`] The image data. """data=awaitself._http._get_image_url(self.url)ifnotbytesio:returndatareturnio.BytesIO(data)
[docs]asyncdeffile(self,cls:FileLike,filename:str="image.png",**kwargs:Any)->FileLike:"""Converts the image to a file-like object. Parameters ---------- cls: ``FileLike`` The file-like object to convert the image to. E,g, `discord.File` (discord.py) filename: str The filename to use. Returns ------- ``FileLike`` An instance of the file-like object. """returncls(awaitself.read(),filename=filename,**kwargs)