diff --git a/photo_bot/__pycache__/handlers.cpython-313.pyc b/photo_bot/__pycache__/handlers.cpython-313.pyc index ac65d44..0d7265a 100644 Binary files a/photo_bot/__pycache__/handlers.cpython-313.pyc and b/photo_bot/__pycache__/handlers.cpython-313.pyc differ diff --git a/photo_bot/handlers.py b/photo_bot/handlers.py index 551e435..f092621 100644 --- a/photo_bot/handlers.py +++ b/photo_bot/handlers.py @@ -17,9 +17,9 @@ from utils.menu import MENU_TEXT from photo_bot.photo_processor import prepare_ad_photo, get_crop_coordinates from photo_bot.ai_validator import validate_photo_with_ai from utils.texts import ( + UNKNOWN_MAIN_CMD_TEXT, EMOJI_DIGITS, PHOTO_MAIN_MENU_TEXT, - system_error_text, photo_error_handling, PHOTO_PROCESSING_FACE_TEXT, PHOTO_AI_PROCESSING_TEXT, @@ -275,7 +275,7 @@ async def photo_module_handler(msg: Message): await msg.answer(PHOTO_TEST_WELCOME_TEXT, parse_mode="html") else: # Неверная команда → глобальное сообщение - await msg.answer(system_error_text(EMOJI_DIGITS), parse_mode="html") + await msg.answer(UNKNOWN_MAIN_CMD_TEXT, parse_mode="html") return # Статус изменился (одобрено/отклонено) — разблокируем was_in_test = in_test_submode(user_id) @@ -365,7 +365,7 @@ async def photo_module_handler(msg: Message): # --- Неверная команда при висящем превью → глобальное сообщение --- else: - await msg.answer(system_error_text(EMOJI_DIGITS), parse_mode="html") + await msg.answer(UNKNOWN_MAIN_CMD_TEXT, parse_mode="html") return # --- ПОДТВЕРЖДЕНИЕ ОТПРАВКИ (Кнопка 1) --- @@ -431,14 +431,27 @@ async def photo_module_handler(msg: Message): # --- ИСПРАВЛЕНО: Защита от мусорного ввода при висящем превью --- else: - await msg.answer(system_error_text(EMOJI_DIGITS), parse_mode="html") + await msg.answer(UNKNOWN_MAIN_CMD_TEXT, parse_mode="html") return # --- НЕВЕРНАЯ КОМАНДА (висящего фото нет) → глобальное сообщение --- if not is_attachment: - await msg.answer(system_error_text(EMOJI_DIGITS), parse_mode="html") + await msg.answer(UNKNOWN_MAIN_CMD_TEXT, parse_mode="html") return + # --- ФОТО НА МОДЕРАЦИИ: в обычном режиме новое фото не принимается --- + if is_attachment and not in_test_submode(user_id) and user_id in moderation_pending_users: + status = await check_moderation_status(user_id) + if status.get("status") == "ok" and status.get("moderation_status") == "pending": + log_menu_stats(user_id, "Photo Bot", "Отказ в приёме фото — есть фото на модерации") + await msg.answer( + photo_welcome_with_status(status, show_test=config.PHOTO_TEST_MODE), + parse_mode="html" + ) + return + # Статус изменился (одобрено/отклонено) — снимаем блок, фото принимается штатно + moderation_pending_users.discard(user_id) + # --- ПРИЕМ НОВОГО ФОТО --- if is_attachment: file_id = getattr(msg.content, "file_id", None)