diff --git a/instruct/handlers.py b/instruct/handlers.py index db8a5d5..8a8f14c 100644 --- a/instruct/handlers.py +++ b/instruct/handlers.py @@ -12,6 +12,8 @@ from utils.texts import ( instruct_email_text, EMOJI_DIGITS, ) +from main import WELCOME_TEXT +from utils.menu import MENU_TEXT INSTRUCT_MAIN_MENU_TEXT = instruct_main_menu_text @@ -86,6 +88,23 @@ async def instruct_tc_handler(msg: Message): await msg.answer(instruct_tc_text(), parse_mode="html") instruct_logger.info(f"User {user_id} selected TrueConf instructions") +@router.message() +async def instruct_back_to_main_handler(msg: Message): + """Обработчик возврата в главное меню.""" + user_id = msg.from_user.id + + if get_state(user_id) != "INSTRUCT_MODE": + return + + # Очистка состояния + 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") + @router.message() async def instruct_email_handler(msg: Message): """Обработчик выбора: Почта на мобильном устройстве."""