diff --git a/bot/handlers/commands/users/stats.py b/bot/handlers/commands/users/stats.py index eaca9e7..51bda9f 100644 --- a/bot/handlers/commands/users/stats.py +++ b/bot/handlers/commands/users/stats.py @@ -452,7 +452,7 @@ async def stats_top_words_callback(callback: CallbackQuery) -> None: # Кнопка назад keyboard = InlineKeyboardMarkup(inline_keyboard=[ - [InlineKeyboardButton(text="◀️ Назад", callback_data="show_stats")] + [InlineKeyboardButton(text="◀️ Назад", callback_data="stats:refresh")] ]) try: diff --git a/database/manager.py b/database/manager.py index e1dcc39..486fb92 100644 --- a/database/manager.py +++ b/database/manager.py @@ -3,12 +3,12 @@ Упрощает использование repository в handlers и middleware. """ from typing import Set, Optional, List, Dict, Any -from datetime import datetime +from datetime import datetime, timezone from middleware.loggers import logger from .database import Database, get_db from .repository import BanWordsRepository -from .models import BanWordType, SpamStat, SpamLog +from .models import BanWordType, SpamStat, SpamLog, TempBanWord from sqlalchemy import select, delete, func, desc @@ -478,7 +478,7 @@ class BanWordsManager: - count: количество срабатываний - type: тип проверки """ - async with self.session_maker() as session: + async with self.db.get_session() as session: try: # Группируем по matched_word и считаем количество query = select( @@ -527,7 +527,7 @@ class BanWordsManager: Returns: int: Количество удалённых слов """ - async with self.session_maker() as session: + async with self.db.get_session() as session: try: now = datetime.now(timezone.utc) @@ -555,7 +555,7 @@ class BanWordsManager: await session.commit() # Обновляем кеш - await self._reload_cache() + await self.refresh_cache() # Логируем подробности logger.info( @@ -586,7 +586,7 @@ class BanWordsManager: Returns: int: Количество записей в SpamLog """ - async with self.session_maker() as session: + async with self.db.get_session() as session: try: query = select(func.count(SpamLog.id)) result = await session.execute(query) @@ -606,7 +606,7 @@ class BanWordsManager: Returns: bool: True если успешно """ - async with self.session_maker() as session: + async with self.db.get_session() as session: try: # Удаляем все записи await session.execute(delete(SpamLog))