bot works as echo (adding templates s functional)

tpl_list dont
This commit is contained in:
2025-08-19 05:13:16 +09:00
parent a8d860ed87
commit 18a92ca526
7 changed files with 274 additions and 47 deletions

30
app/services/users.py Normal file
View File

@@ -0,0 +1,30 @@
"""Сервис для работы с пользователями."""
from typing import Optional
from sqlalchemy import select
from app.db.session import async_session_maker
from app.models.user import User
async def get_or_create_user(tg_user_id: int, username: Optional[str] = None) -> User:
"""Получить или создать пользователя.
Args:
tg_user_id: ID пользователя в Telegram
username: Имя пользователя в Telegram
Returns:
User: Объект пользователя
"""
async with async_session_maker() as session:
# Пробуем найти пользователя
query = select(User).where(User.tg_user_id == tg_user_id)
result = await session.execute(query)
user = result.scalar_one_or_none()
if not user:
# Создаем нового пользователя
user = User(tg_user_id=tg_user_id, username=username)
session.add(user)
await session.commit()
await session.refresh(user)
return user