feat: показать шаблоны вместо SD_MAIN_MENU_TEXT при нажатии 3

This commit is contained in:
2026-07-15 13:58:24 +07:00
parent 914c964e08
commit 666435be3e
+8 -12
View File
@@ -153,21 +153,17 @@ async def main_menu(msg: Message):
tasks = [check_template(t, client) for t in pre_filtered] tasks = [check_template(t, client) for t in pre_filtered]
results = await asyncio.gather(*tasks) results = await asyncio.gather(*tasks)
templates = [t for t in results if t is not None] templates = [t for t in results if t is not None]
# Пагинация по 10
per_page = 10
total_pages = (len(templates) + per_page - 1) // per_page if templates else 1
start = 0
end = min(per_page, len(templates))
page_items = templates[start:end]
template_lines = "" template_lines = ""
for idx, t in enumerate(page_items): for idx, t in enumerate(templates):
num = idx + 1 num = idx + 1
digit = f"{num}" digit = f"{num}" if num <= 9 else "0⃣" if num == 10 else str(num)
template_lines += f"{digit} - {t['name']}\n" template_lines += f"{digit} - {t['name']}\n"
page_info = f"\n📄 <b>Страница 1 из {total_pages}</b>" # Сохраняем шаблоны в sd_sessions для sd_module_handler
template_text = f"\n\n📋 <b>Выберите шаблон:</b>\n{template_lines}{page_info}" sd_sessions[user_id]["templates"] = templates
full_text = SD_MAIN_MENU_TEXT + template_text sd_sessions[user_id]["template_names"] = {str(i+1): str(t["id"]) for i, t in enumerate(templates)}
await msg.answer(full_text, parse_mode="html") sd_sessions[user_id]["template_menu_text"] = template_lines.strip()
template_text = f"📋 <b>Выберите нужный шаблон:</b>\n\n{template_lines}"
await msg.answer(template_text, parse_mode="html")
else: else:
await msg.answer(SD_MAIN_MENU_TEXT, parse_mode="html") await msg.answer(SD_MAIN_MENU_TEXT, parse_mode="html")
except Exception as e: except Exception as e: