From b123e9f71400c67a40fc8a2f61c86cec4d76c250 Mon Sep 17 00:00:00 2001 From: "Andrew K. Choi" Date: Wed, 19 Nov 2025 05:30:07 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=D0=B1=D0=BB=D0=BE=D0=BA=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=BA=D0=B0=20=D0=B3=D0=BE=D0=BB=D0=BE=D1=81=D0=BE?= =?UTF-8?q?=D0=B2=D1=8B=D1=85=20=D1=81=D0=BE=D0=BE=D0=B1=D1=89=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B9=20=D0=B8=20=D0=B0=D1=83=D0=B4=D0=B8=D0=BE=D1=84?= =?UTF-8?q?=D0=B0=D0=B9=D0=BB=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Голосовые сообщения (F.voice) теперь отклоняются с предупреждением - Аудиофайлы/музыка (F.audio) теперь отклоняются с предупреждением - Пользователям предлагается использовать текст или изображения - Упрощена логика обработчиков - теперь просто блокировка без проверок --- src/handlers/chat_handlers.py | 65 +++++++++-------------------------- 1 file changed, 16 insertions(+), 49 deletions(-) diff --git a/src/handlers/chat_handlers.py b/src/handlers/chat_handlers.py index 472e548..1675c58 100644 --- a/src/handlers/chat_handlers.py +++ b/src/handlers/chat_handlers.py @@ -486,52 +486,19 @@ async def handle_sticker_message(message: Message): @router.message(F.voice) async def handle_voice_message(message: Message): - """Обработчик голосовых сообщений""" - async with async_session_maker() as session: - can_send, reason = await ChatPermissionService.can_send_message( - session, - message.from_user.id, - is_admin=is_admin(message.from_user.id) - ) - - if not can_send: - await message.answer(f"❌ {reason}") - return - - settings = await ChatSettingsService.get_or_create_settings(session) - user = await UserService.get_user_by_telegram_id(session, message.from_user.id) - - if not user: - return - - if settings.mode == 'broadcast': - # НЕ исключаем отправителя - админ должен видеть все сообщения - forwarded_ids, success, fail = await broadcast_message_with_scheduler(message, exclude_user_id=None) - - await ChatMessageService.save_message( - session, - user_id=user.id, - telegram_message_id=message.message_id, - message_type='voice', - file_id=message.voice.file_id, - forwarded_ids=forwarded_ids - ) - - # Показываем статистику только админам - if is_admin(message.from_user.id): - await message.answer(f"✅ Голосовое сообщение разослано: {success} получателей") - - elif settings.mode == 'forward': - if settings.forward_chat_id: - success, channel_msg_id = await forward_to_channel(message, settings.forward_chat_id) - - if success: - await ChatMessageService.save_message( - session, - user_id=user.id, - telegram_message_id=message.message_id, - message_type='voice', - file_id=message.voice.file_id, - forwarded_ids={'channel': channel_msg_id} if channel_msg_id else None - ) - await message.answer("✅ Голосовое сообщение переслано в канал") + """Обработчик голосовых сообщений - ЗАБЛОКИРОВАНО""" + await message.answer( + "🚫 Голосовые сообщения запрещены.\n\n" + "Пожалуйста, используйте текстовые сообщения или изображения." + ) + return + + +@router.message(F.audio) +async def handle_audio_message(message: Message): + """Обработчик аудиофайлов (музыка, аудиозаписи) - ЗАБЛОКИРОВАНО""" + await message.answer( + "🚫 Аудиофайлы запрещены.\n\n" + "Пожалуйста, используйте текстовые сообщения или изображения." + ) + return