Added overloads for MatrixBot.download_file

This commit is contained in:
2026-09-13 03:39:23 +03:00
parent 43b5d8e3a6
commit 86257a70e3
2 changed files with 13 additions and 4 deletions

View File

@@ -52,9 +52,6 @@ async def on_image(ctx: EventContext) -> None:
s = time.time()
data = await ctx.bot.download_file(ctx)
took_time = time.time() - s
if not isinstance(data, bytes):
await ctx.bot.send_text(ctx.room, "😧")
return
# convert to Image
with BytesIO(data) as buf:
img = Image.open(buf)

View File

@@ -1,7 +1,7 @@
import asyncio
import logging
from typing import Callable, Coroutine, Any
from typing import Callable, Coroutine, Any, overload
from nio import AsyncClient, MatrixRoom, Event
@@ -252,6 +252,18 @@ class MatrixBot:
timeout=timeout
)
@overload
async def download_file(self,
source: EventContext | Event,
*,
path: str | Path) -> Path: ...
@overload
async def download_file(self,
source: EventContext | Event,
*,
path: None = None) -> bytes: ...
async def download_file(self,
source: EventContext | Event,
*,