generated from geekiot/python-template
Update [db]: finally update bot struct
This commit is contained in:
parent
05486d6f4b
commit
3ae9b3cd72
12 changed files with 19 additions and 25 deletions
|
|
@ -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 # Этот файл.
|
||||
|
|
|
|||
|
|
@ -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. "
|
||||
|
|
|
|||
|
|
@ -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__(
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
@ -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):
|
||||
|
|
@ -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,
|
||||
|
|
@ -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]]
|
||||
Loading…
Add table
Add a link
Reference in a new issue