Source code for discohook.attachment
from typing import Optional
import aiohttp
[docs]class Attachment:
def __init__(self, data: dict) -> None:
self.id: str = data["id"]
self.filename: str = data["filename"]
self.description: Optional[str] = data.get("description")
self.content_type: Optional[str] = data.get("content_type")
self.size: int = data["size"]
self.url: str = data["url"]
self.proxy_url: str = data["proxy_url"]
self.height: Optional[int] = data.get("height")
self.width: Optional[int] = data.get("width")
self.ephemeral: bool = data.get("ephemeral", False)
self.duration_secs: Optional[int] = data.get("duration_secs")
self.waveform: Optional[str] = data.get("waveform")
self.flags: Optional[int] = data.get("flags")
[docs] async def read(self) -> bytes:
async with aiohttp.ClientSession() as session:
resp = await session.get(self.url)
return await resp.content.read()
[docs] async def iter(self) -> aiohttp.StreamReader:
async with aiohttp.ClientSession() as session:
resp = await session.get(self.url)
return resp.content