feat(config): add proxy support and API timeout
Build and Push (dev) / build (push) Successful in 3m31s

This commit is contained in:
2026-08-16 05:15:24 +05:00
parent 62873c7f8c
commit 5c325bd8b9
6 changed files with 261 additions and 19 deletions
+30 -5
View File
@@ -4,6 +4,8 @@ import asyncio
from LOLZTEAM.Client import Forum
from typing import Dict, Any, Optional, Union, List
from config import Config
logger = logging.getLogger(__name__)
@@ -26,15 +28,38 @@ class LolzResponseError(LolzAPIError):
class Lolz:
def __init__(self, token: str):
if not token:
def __init__(self, config: Config):
if not config.lolz_token:
raise ValueError("LOLZ_TOKEN обязателен")
try:
self.client = Forum(token=token, timeout=15)
if config.proxy_lolz:
if config.proxy_username and config.proxy_password:
proxy = f"{config.proxy_protocol}://{config.proxy_username}:{config.proxy_password}@{config.proxy_host}:{config.proxy_port}"
logger.info(
"Инициализация Lolz клиента с прокси: %s://%s:%s (с авторизацией)",
config.proxy_protocol,
config.proxy_host,
config.proxy_port
)
else:
proxy = f"{config.proxy_protocol}://{config.proxy_host}:{config.proxy_port}"
logger.info(
"Инициализация Lolz клиента с прокси: %s://%s:%s (без авторизации)",
config.proxy_protocol,
config.proxy_host,
config.proxy_port
)
# ! Не рекомендуется включить этот логгер,
# ! ибо логи занимают очень много места в экране при этом логгере
self.client = Forum(
token=config.lolz_token, proxy=proxy, timeout=config.api_timeout
)
else:
logger.info("Инициализация Lolz клиента без прокси")
self.client = Forum(token=config.lolz_token, timeout=config.api_timeout)
# ! Не рекомендуется включать этот логгер,
# ! ибо логи занимают очень много места в экране с этим логгером
# self.client.settings.logger.enable()
except Exception as e: