diff --git a/main.py b/main.py index 124e779..310ff87 100644 --- a/main.py +++ b/main.py @@ -124,7 +124,7 @@ async def main_menu(msg: Message): elif action == "PHOTO": USER_MENU_SHOWN[user_id] = True from photo_bot.handlers import check_moderation_status - from utils.texts import photo_moderation_pending + from utils.texts import photo_moderation_pending, photo_rejected_notice if not PHOTO_TEST_MODE: status = await check_moderation_status(user_id) if status.get("status") == "ok" and status.get("moderation_status") == "pending": @@ -135,6 +135,13 @@ async def main_menu(msg: Message): parse_mode="html" ) return + elif status.get("status") == "ok" and status.get("moderation_status") == "rejected": + reason = (status.get("rejection_reason") or "Причина не указана.").strip() + log_menu_stats(user_id, "Photo Bot", "Вход — фото отклонено, показана причина") + await msg.answer(photo_rejected_notice(reason), parse_mode="html") + # Кнопки остаются: пользователь отправляет новое фото (меню ниже) + elif status.get("status") != "ok": + logger.warning(f"Не удалось проверить статус модерации для {user_id}: {status.get('reason')}") set_state(user_id, "PHOTO_MODE") log_menu_stats(user_id, "Photo Bot (TEST)" if PHOTO_TEST_MODE else "Photo Bot", "Вход") from utils.texts import PHOTO_TEST_ENTRY_TEXT diff --git a/utils/texts.py b/utils/texts.py index 260ed8a..e7385bd 100644 --- a/utils/texts.py +++ b/utils/texts.py @@ -245,6 +245,13 @@ def _photo_moderation_pending(photo_id: str, emojis: dict) -> str: f"{emojis['0']} — В главное меню" ) +def _photo_rejected_notice(reason: str, emojis: dict) -> str: + return ( + f"⚠️ Ваше предыдущее фото было отклонено.\n\n" + f"📝 Причина: {reason}\n\n" + f"Пожалуйста, отправьте новое фото." + ) + def _photo_test_welcome(emojis: dict) -> str: return ( f"🧪 Тестовый режим фото-проверки\n\n" @@ -371,6 +378,9 @@ def photo_cancel_text() -> str: def photo_moderation_pending(photo_id: str) -> str: return _photo_moderation_pending(photo_id, EMOJI_DIGITS) +def photo_rejected_notice(reason: str) -> str: + return _photo_rejected_notice(reason, EMOJI_DIGITS) + PHOTO_TEST_WELCOME_TEXT = _photo_test_welcome(EMOJI_DIGITS) PHOTO_TEST_PREVIEW_TEXT = _photo_test_preview(EMOJI_DIGITS) PHOTO_TEST_AI_CHECKING_TEXT = _photo_test_ai_checking(EMOJI_DIGITS)