Commit a30755f
Changed files (2)
src/config.py
@@ -14,6 +14,7 @@ semaphore = asyncio.Semaphore(8) # max 8 concurrent downloads
DOWNLOAD_DIR = os.getenv("DOWNLOAD_DIR", Path(__file__).parent.joinpath("downloads").as_posix())
TZ = os.getenv("TZ", "Asia/Shanghai")
DEVICE_NAME = os.getenv("DEVICE_NAME", "BennyBot")
+REQUEST_TIMEOUT = int(os.getenv("REQUEST_TIMEOUT", "60")) # seconds
TEXT_LENGTH = int(os.getenv("TEXT_LENGTH", "4096")) # Maximum length of text message
CAPTION_LENGTH = int(os.getenv("CAPTION_LENGTH", "1024")) # 4096 for Premium user
MAX_FILE_BYTES = int(os.getenv("MAX_FILE_BYTES", "2000")) * 1024 * 1024 # 4000 MB for Premium user
src/networking.py
@@ -13,7 +13,7 @@ import anyio
from httpx import AsyncClient, AsyncHTTPTransport, HTTPStatusError, RequestError
from loguru import logger
-from config import DOWNLOAD_DIR, PROXY, UA, cache, semaphore
+from config import DOWNLOAD_DIR, PROXY, REQUEST_TIMEOUT, UA, cache, semaphore
from messages.progress import modify_progress
from messages.utils import summay_media
from preview.utils import av2bv
@@ -58,7 +58,7 @@ async def hx_req(
follow_redirects: bool = True,
check_keys: list[str] | None = None,
check_kv: dict | None = None,
- timeout: int = 10, # noqa: ASYNC109
+ timeout: int = REQUEST_TIMEOUT, # noqa: ASYNC109
retry: int = 0,
max_retry: int = 2,
silent: bool = False,
@@ -172,7 +172,7 @@ async def download_file(
headers=headers,
transport=AsyncHTTPTransport(retries=3),
proxy=PROXY.DOWNLOAD,
- timeout=10,
+ timeout=REQUEST_TIMEOUT,
follow_redirects=True,
event_hooks={"request": [log_req], "response": [log_resp]},
)