Update [db]: finally update bot struct

This commit is contained in:
Kirill Samoylenkov 2025-11-01 15:01:36 +05:00
parent 05486d6f4b
commit 3ae9b3cd72
12 changed files with 19 additions and 25 deletions

View file

@ -70,14 +70,13 @@ urfu-daddy/
│ │ ├── __init__.py # Функция для запуска бота.
│ │ ├── handlers/ # Обработка всех ивентов.
│ │ │ ├── callbacks/ # Обработка запросов.
│ │ │ ── commands/ # Обработка комманд.
│ │ │ ├── utils/ # Вспомогательные компоненты для хендлеров.
│ │ ├── middlewares/ # Мидлвари для диспетчера.
│ │ └── services/ # Взаимодействие с другими сервисами бота.
│ │ │ ── commands/ # Обработка комманд.
│ │ ├── middlewares/ # Мидлвари для диспетчера/роутеров.
│ │ ├── services/ # Взаимодействие с другими сервисами бота.
│ │ └── utils/ # Вспомогательные компоненты для для бота.
│ ├── config/ # Получение env-настроек, настройка логирования.
│ ├── database/ # Инициализация и настройка БД.
│ ├── locales/ # Папка с локализацией проекта.
│ └── redis_client/ # Настройка redis-клиента.
│ └── locales/ # Папка с локализацией проекта.
├── LICENSE # Лицензия проекта.
├── README.md # Описание проекта.
├── CONTRIBUTE.md # Этот файл.

View file

@ -2,7 +2,7 @@ from aiogram.types import Message
from bot.handlers import registry
from bot.handlers.utils.types import ChatType
from bot.services.database import check_user
from bot.services.database import check_telegram_user
@registry.register(
@ -14,7 +14,7 @@ async def cmd_help(message: Message, session) -> None:
if message.from_user is None:
return
user = await check_user(session, message.from_user.id)
user = await check_telegram_user(session, message.from_user.id)
await message.answer(
"Help Command Function Answer Text. "

View file

@ -7,7 +7,6 @@ from sqlalchemy.ext.asyncio import async_sessionmaker
class DatabaseSessionMiddleware(BaseMiddleware):
def __init__(self, session_maker: async_sessionmaker):
super().__init__()
self.session_maker = session_maker
async def __call__(

View file

@ -1,5 +1,4 @@
__all__ = []
__all__ = ["check_telegram_user"]
# TODO: Add bot business logic
# (working with other service components).
from .database import check_telegram_user

View file

@ -1,13 +1,10 @@
__all__ = ["check_user"]
from sqlalchemy import select
from sqlalchemy.ext.asyncio import AsyncSession
from database.models import TelegramUser
from database import TelegramUser
async def _get_user(
async def _get_telegram_user(
session: AsyncSession,
telegram_id: int,
) -> TelegramUser | None:
@ -21,7 +18,7 @@ async def _get_user(
return result.scalar()
async def _add_user(
async def _add_telegram_user(
session: AsyncSession,
telegram_id: int,
) -> TelegramUser:
@ -38,7 +35,7 @@ async def _add_user(
return user
async def check_user(
async def check_telegram_user(
session: AsyncSession,
telegram_id: int,
) -> TelegramUser:
@ -47,9 +44,9 @@ async def check_user(
Если его нет, то добавляет.
Всегда возвращает объект пользователя.
"""
result = await _get_user(session, telegram_id)
result = await _get_telegram_user(session, telegram_id)
if result is not None:
return result
return await _add_user(session, telegram_id)
return await _add_telegram_user(session, telegram_id)

View file

@ -6,7 +6,7 @@ from typing import Union
from aiogram.filters import BaseFilter
from aiogram.types import CallbackQuery, Message
from bot.handlers.utils.types import ChatType
from bot.utils.types import ChatType
class ChatTypeFilter(BaseFilter):

View file

@ -13,8 +13,8 @@ from aiogram.types.bot_command_scope_all_private_chats import (
)
from loguru import logger as loguru_logger
from bot.handlers.utils.filters import ChatTypeFilter
from bot.handlers.utils.types import (
from bot.utils.filters import ChatTypeFilter
from bot.utils.types import (
ChatType,
HandlerMeta,
HandlerType,

View file

@ -1,7 +1,7 @@
from dataclasses import dataclass
from typing import Any, Awaitable, Callable, TypeVar
from bot.handlers.utils.types import ChatType
from bot.utils.types import ChatType
HandlerType = TypeVar(
"HandlerType", bound=Callable[[Any], Awaitable[Any]]