feat: добавлена система чата с модерацией
Some checks reported errors
continuous-integration/drone/push Build encountered an error
Some checks reported errors
continuous-integration/drone/push Build encountered an error
Реализована полнофункциональная система чата с двумя режимами работы: ## Режимы работы: - Broadcast: рассылка сообщений всем пользователям - Forward: пересылка сообщений в указанную группу/канал ## Функционал: - Поддержка всех типов сообщений: text, photo, video, document, animation, sticker, voice - Система банов: личные баны пользователей и глобальный бан чата - Модерация: удаление сообщений с отслеживанием в БД - История сообщений с сохранением ID пересланных сообщений ## Структура БД (миграция 005): - chat_settings: настройки чата (режим, ID канала, глобальный бан) - banned_users: история банов с причинами и информацией о модераторе - chat_messages: история сообщений с типами, файлами и картой доставки (JSONB) ## Сервисы: - ChatSettingsService: управление настройками чата - BanService: управление банами пользователей - ChatMessageService: работа с историей сообщений - ChatPermissionService: проверка прав на отправку сообщений ## Обработчики: - chat_handlers.py: обработка сообщений пользователей (7 типов контента) - admin_chat_handlers.py: админские команды управления чатом ## Админские команды: - /chat_mode - переключение режима (broadcast/forward) - /set_forward <chat_id> - установка ID канала для пересылки - /ban <user_id> [причина] - бан пользователя - /unban <user_id> - разбан пользователя - /banlist - список забаненных - /global_ban - включение/выключение глобального бана - /delete_msg - удаление сообщения (ответ на сообщение) - /chat_stats - статистика чата ## Документация: - docs/CHAT_SYSTEM.md: полное описание системы с примерами использования Изменено файлов: 7 (2 modified, 5 new) - main.py: подключены chat_router и admin_chat_router - src/core/models.py: добавлены модели ChatSettings, BannedUser, ChatMessage - migrations/versions/005_add_chat_system.py: миграция создания таблиц - src/core/chat_services.py: сервисный слой для чата (267 строк) - src/handlers/chat_handlers.py: обработчики сообщений (447 строк) - src/handlers/admin_chat_handlers.py: админские команды (369 строк) - docs/CHAT_SYSTEM.md: документация (390 строк)
This commit is contained in:
4
main.py
4
main.py
@@ -22,6 +22,8 @@ from src.handlers.account_handlers import account_router
|
||||
from src.handlers.registration_handlers import router as registration_router
|
||||
from src.handlers.admin_account_handlers import router as admin_account_router
|
||||
from src.handlers.redraw_handlers import router as redraw_router
|
||||
from src.handlers.chat_handlers import router as chat_router
|
||||
from src.handlers.admin_chat_handlers import router as admin_chat_router
|
||||
from src.utils.async_decorators import (
|
||||
async_user_action, admin_async_action, db_operation,
|
||||
TaskManagerMiddleware, shutdown_task_manager,
|
||||
@@ -1007,8 +1009,10 @@ async def main():
|
||||
# Подключение роутеров
|
||||
dp.include_router(registration_router) # Роутер регистрации (первый)
|
||||
dp.include_router(admin_account_router) # Роутер админских команд для счетов
|
||||
dp.include_router(admin_chat_router) # Роутер админских команд чата (до обычных обработчиков)
|
||||
dp.include_router(redraw_router) # Роутер повторного розыгрыша
|
||||
dp.include_router(account_router) # Роутер для работы со счетами
|
||||
dp.include_router(chat_router) # Роутер чата пользователей (ПОСЛЕДНИМ!)
|
||||
dp.include_router(router)
|
||||
dp.include_router(admin_router)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user