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