Первый коммит

This commit is contained in:
2026-02-17 11:24:55 +07:00
commit a06448ca4b
109 changed files with 21165 additions and 0 deletions

39
database/__init__.py Normal file
View File

@@ -0,0 +1,39 @@
"""
Database модуль для работы с банвордами в SQLite.
Использует SQLAlchemy ORM для async работы с БД.
Структура:
- models.py: Модели таблиц (BanWord, TempBanWord, WhitelistWord, Admin, Setting, SpamStat)
- database.py: Подключение к БД через SQLAlchemy
- repository.py: CRUD операции через ORM
- manager.py: Высокоуровневый API для handlers/middleware
Usage:
from database import get_manager, BanWordType
# Инициализация
manager = get_manager()
await manager.init()
# Добавление банворда
await manager.add_banword("спам", BanWordType.SUBSTRING, added_by=123)
# Проверка (из кэша - быстро)
words = manager.get_banwords_cached(BanWordType.SUBSTRING)
if "спам" in text and "спам" in words:
await manager.log_spam(...)
# Режим тишины
await manager.set_silence_mode(minutes=30)
if await manager.is_silence_active():
# Удаляем всё
"""
from .models import *
from .database import *
from .repository import *
from .manager import *