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")