Тест-режим: сброс протухшего pending_photos/test_submode при входе в модуль (фото больше не улетает сразу после тайм-аута)

This commit is contained in:
dddennnisss
2026-08-23 03:36:22 +07:00
parent 2a4e2fc9a2
commit a0ade670fe
2 changed files with 16 additions and 0 deletions
Binary file not shown.
+16
View File
@@ -167,6 +167,22 @@ async def send_dynamic_photo_main_menu(msg: Message, user_id: str):
- иначе/ошибка API — штатное меню входа.
Статус проверяется и показывается всегда, включая тестовый режим.
"""
# Новый вход в модуль (кнопка 4 из главного меню) = свежий сеанс.
# Тайм-аут сессии чистит только user_states, а module-level pending_photos
# и test_submode_users остаются: висящий тест-кадр из прошлой сессии иначе
# улетит на проверку сразу после нажатия «1». Сбрасываем здесь.
if user_id in pending_photos:
_pd = pending_photos[user_id]
for _k in ('path', 'preview_path'):
_p = _pd.get(_k)
if _p and os.path.exists(_p):
try:
os.remove(_p)
except OSError:
pass
del pending_photos[user_id]
test_submode_users.discard(user_id)
# Статус модерации запрашиваем всегда (и в тестовом режиме тоже)
status = await check_moderation_status(user_id)
if status.get("status") == "ok" and status.get("moderation_status") == "pending":