From dd4a28edbb7260c72abb796e35da70f8abaad205 Mon Sep 17 00:00:00 2001 From: Capybara-z Date: Mon, 14 Jul 2025 22:21:04 +0300 Subject: [PATCH] fix Improve server limits and disabled servers handling --- database/init_db.py | 13 ++++++++++++- handlers/utils.py | 4 +--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/database/init_db.py b/database/init_db.py index f01092b2..ffe41379 100644 --- a/database/init_db.py +++ b/database/init_db.py @@ -1,5 +1,5 @@ from database.db import engine, async_session_maker -from database.models import Base, Admin +from database.models import Base, Admin, User from sqlalchemy import select from config import ADMIN_ID from datetime import datetime @@ -9,6 +9,17 @@ async def init_db(): await conn.run_sync(Base.metadata.create_all) async with async_session_maker() as session: + result = await session.execute(select(User).where(User.tg_id == 0)) + if not result.scalar_one_or_none(): + session.add(User( + tg_id=0, + username="system", + first_name="System", + is_bot=True, + created_at=datetime.utcnow(), + updated_at=datetime.utcnow() + )) + for tg_id in ADMIN_ID: result = await session.execute(select(Admin).where(Admin.tg_id == tg_id)) if not result.scalar_one_or_none(): diff --git a/handlers/utils.py b/handlers/utils.py index e7d1186b..6fdaf697 100644 --- a/handlers/utils.py +++ b/handlers/utils.py @@ -17,7 +17,7 @@ from sqlalchemy.ext.asyncio import AsyncSession from bot import bot from config import ADMIN_ID from database import get_servers -from database.models import Key, Server +from database.models import Key, Server, Notification from logger import logger @@ -88,8 +88,6 @@ async def get_least_loaded_cluster(session: AsyncSession) -> str: async def check_server_key_limit(server_info: dict, session: AsyncSession) -> bool: - from database.models import Key, Notification - server_name = server_info.get("server_name") cluster_name = server_info.get("cluster_name") max_keys = server_info.get("max_keys")