Тест-режим: сброс протухшего pending_photos/test_submode при входе в модуль (фото больше не улетает сразу после тайм-аута)
This commit is contained in:
Binary file not shown.
@@ -167,6 +167,22 @@ async def send_dynamic_photo_main_menu(msg: Message, user_id: str):
|
|||||||
- иначе/ошибка API — штатное меню входа.
|
- иначе/ошибка 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)
|
status = await check_moderation_status(user_id)
|
||||||
if status.get("status") == "ok" and status.get("moderation_status") == "pending":
|
if status.get("status") == "ok" and status.get("moderation_status") == "pending":
|
||||||
|
|||||||
Reference in New Issue
Block a user