feat: добавлено логирование для отладки кнопок
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
parent
d0f91d7daa
commit
42e1043f28
|
|
@ -54,32 +54,40 @@ async def menu_callback(update: Update, context: ContextTypes.DEFAULT_TYPE):
|
||||||
# Пользователь нажал "Продолжить"
|
# Пользователь нажал "Продолжить"
|
||||||
remaining = int(callback.replace("continue_output_", ""))
|
remaining = int(callback.replace("continue_output_", ""))
|
||||||
state = state_manager.get(user_id)
|
state = state_manager.get(user_id)
|
||||||
|
logger.info(f"callback continue_output_{remaining}: user_id={user_id}")
|
||||||
state.waiting_for_output_control = False
|
state.waiting_for_output_control = False
|
||||||
state.continue_output = True
|
state.continue_output = True
|
||||||
# Удаляем сообщение с кнопками
|
# Удаляем сообщение с кнопками
|
||||||
try:
|
try:
|
||||||
await query.delete_message()
|
await query.delete_message()
|
||||||
except:
|
except Exception as e:
|
||||||
pass
|
logger.warning(f"Не удалось удалить сообщение с кнопками: {e}")
|
||||||
# Устанавливаем event чтобы разблокировать send_long_message
|
# Устанавливаем event чтобы разблокировать send_long_message
|
||||||
if state.output_continue_event:
|
if state.output_continue_event:
|
||||||
|
logger.info("callback: устанавливаем continue_event")
|
||||||
state.output_continue_event.set()
|
state.output_continue_event.set()
|
||||||
|
else:
|
||||||
|
logger.warning("callback: output_continue_event не найден!")
|
||||||
await query.answer()
|
await query.answer()
|
||||||
return
|
return
|
||||||
|
|
||||||
elif callback == "cancel_output":
|
elif callback == "cancel_output":
|
||||||
# Пользователь нажал "Отменить"
|
# Пользователь нажал "Отменить"
|
||||||
|
logger.info(f"callback cancel_output: user_id={user_id}")
|
||||||
state = state_manager.get(user_id)
|
state = state_manager.get(user_id)
|
||||||
state.waiting_for_output_control = False
|
state.waiting_for_output_control = False
|
||||||
state.continue_output = False
|
state.continue_output = False
|
||||||
# Удаляем сообщение с кнопками
|
# Удаляем сообщение с кнопками
|
||||||
try:
|
try:
|
||||||
await query.delete_message()
|
await query.delete_message()
|
||||||
except:
|
except Exception as e:
|
||||||
pass
|
logger.warning(f"Не удалось удалить сообщение с кнопками: {e}")
|
||||||
# Устанавливаем event чтобы разблокировать send_long_message
|
# Устанавливаем event чтобы разблокировать send_long_message
|
||||||
if state.output_continue_event:
|
if state.output_continue_event:
|
||||||
|
logger.info("callback: устанавливаем continue_event (отмена)")
|
||||||
state.output_continue_event.set()
|
state.output_continue_event.set()
|
||||||
|
else:
|
||||||
|
logger.warning("callback: output_continue_event не найден!")
|
||||||
await query.answer()
|
await query.answer()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -245,9 +245,13 @@ async def send_long_message(update: Update, text: str, parse_mode: str = None, p
|
||||||
state.output_wait_message = wait_msg
|
state.output_wait_message = wait_msg
|
||||||
state.output_continue_event = continue_event
|
state.output_continue_event = continue_event
|
||||||
|
|
||||||
|
logger.info(f"send_long_message: ждём нажатия кнопки (user_id={user_id}, remaining={remaining})")
|
||||||
|
|
||||||
# Ждём пока callback handler не установит event
|
# Ждём пока callback handler не установит event
|
||||||
await continue_event.wait()
|
await continue_event.wait()
|
||||||
|
|
||||||
|
logger.info(f"send_long_message: кнопка нажата, continue_output={state.continue_output}")
|
||||||
|
|
||||||
# Пользователь ответил
|
# Пользователь ответил
|
||||||
if state.continue_output:
|
if state.continue_output:
|
||||||
# Продолжаем - удаляем кнопки
|
# Продолжаем - удаляем кнопки
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue