refactor: balance handling and upload processing

This commit is contained in:
2026-07-24 16:48:32 +05:00
parent 8bd5c80693
commit 9009147b52
9 changed files with 341 additions and 122 deletions
+17 -3
View File
@@ -111,12 +111,26 @@ async def redeem_single_bot_keys(bot_name: str, keys: list[str]) -> str:
return text[:4000] + ("\n\n...обрезано" if len(text) > 4000 else "")
async def redeem_all_bots_keys(keys: list[str], allowed_bots: list[str] | None = None) -> str:
logger.info("Начата активация ключей по всем ботам: count=%s", len(keys))
async def redeem_all_bots_keys(keys: list[str], allowed_bots: list[str]) -> str:
"""Активирует ключи только на явно указанных личных ботах."""
if not allowed_bots:
logger.info("Нет личных ботов для массовой активации ключей")
return (
"Результат активации\n\n"
"⚠️ У вас нет ботов, доступных для массовой активации.\n"
"Ключи не отправлялись в ASF."
)
logger.info(
"Начата активация ключей на разрешенных ботах: keys=%s bots=%s",
len(keys),
len(allowed_bots),
)
response = get_all_bots()
data = response.json()
available = list(data.get("Result", {}).keys())
bots = [name for name in available if allowed_bots is None or name in allowed_bots]
allowed = set(allowed_bots)
bots = [name for name in available if name in allowed]
logger.info("Для массовой активации найдено ботов: count=%s", len(bots))
success_count = 0
failed_count = 0