diff --git a/main.py b/main.py index 8a5b45f..d44336d 100644 --- a/main.py +++ b/main.py @@ -112,6 +112,8 @@ async def main_menu(msg: Message): USER_MENU_SHOWN[user_id] = True set_state(user_id, "SD_MODE") log_menu_stats(user_id, "Service Desk", "Вход") + # Помечаем сообщение как обработанное, чтобы sd_module_handler не перезаписал + msg.handled = True # Инициализируем сессию для service_desk if user_id not in sd_sessions: sd_sessions[user_id] = {"step": "choose_template", "files_queue": [], "post_create_queue": [], "templates": [], "template_names": {}, "template_menu_text": ""} @@ -164,10 +166,14 @@ async def main_menu(msg: Message): sd_sessions[user_id]["template_menu_text"] = template_lines.strip() template_text = f"📋 Выберите нужный шаблон:\n\n{template_lines}" await msg.answer(template_text, parse_mode="html") + msg.handled = True else: await msg.answer(SD_MAIN_MENU_TEXT, parse_mode="html") + msg.handled = True except Exception as e: + sd_workflow_logger.error(f"Ошибка шаблонов: {e}") await msg.answer(SD_MAIN_MENU_TEXT, parse_mode="html") + msg.handled = True return elif action == "PHOTO": USER_MENU_SHOWN[user_id] = True