diff --git a/service_desk/handlers.py b/service_desk/handlers.py index 9f9fc99..c6f224e 100644 --- a/service_desk/handlers.py +++ b/service_desk/handlers.py @@ -342,14 +342,14 @@ async def sd_module_handler(msg: Message): return - # Инициализация шаблонов при первом входе в SD_MODE - if user_id not in sd_sessions: - sd_sessions[user_id] = {"step": "need_text", "files_queue": [], "post_create_queue": [], "templates": [], "template_names": {}, "template_menu_text": "", "template_page": 0} + # Инициализация шаблонов: загружаем если их ещё нет + if not sd_sessions.get(user_id, {}).get("templates"): + if user_id not in sd_sessions: + sd_sessions[user_id] = {"step": "need_text", "files_queue": [], "post_create_queue": [], "templates": [], "template_names": {}, "template_menu_text": "", "template_page": 0} templates = await get_sd_templates() if templates: sd_sessions[user_id]["templates"] = templates sd_sessions[user_id]["template_names"] = {str(i+1): str(t["id"]) for i, t in enumerate(templates)} - # Пагинация по 10 шаблонов на страницу per_page = 10 page = 0 total_pages = (len(templates) + per_page - 1) // per_page if templates else 1