diff --git a/instruct/handlers.py b/instruct/handlers.py index 1a4eaa3..11db0cb 100644 --- a/instruct/handlers.py +++ b/instruct/handlers.py @@ -48,11 +48,26 @@ instruct_sessions = {} # ОБРАБОТЧИКИ # ======================================== -@router.message() +@router.message("0") async def instruct_main_handler(msg: Message): """Обработчик главного меню модуля Instruct.""" user_id = msg.from_user.id + if get_state(user_id) != "INSTRUCT_MODE": + return + + # Цифра 0 — возврат в главное меню + clear_state(user_id) + setattr(msg, "handled", True) + await msg.answer(MENU_TEXT, parse_mode="html") + instruct_logger.info(f"User {user_id} returned to main menu via 0") + return + +@router.message() +async def instruct_main_menu_handler(msg: Message): + """Обработчик открытия меню инструкций.""" + user_id = msg.from_user.id + if get_state(user_id) != "INSTRUCT_MODE": return