feat: показать шаблоны вместо SD_MAIN_MENU_TEXT при нажатии 3
This commit is contained in:
@@ -153,21 +153,17 @@ async def main_menu(msg: Message):
|
||||
tasks = [check_template(t, client) for t in pre_filtered]
|
||||
results = await asyncio.gather(*tasks)
|
||||
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 = ""
|
||||
for idx, t in enumerate(page_items):
|
||||
for idx, t in enumerate(templates):
|
||||
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"
|
||||
page_info = f"\n📄 <b>Страница 1 из {total_pages}</b>"
|
||||
template_text = f"\n\n📋 <b>Выберите шаблон:</b>\n{template_lines}{page_info}"
|
||||
full_text = SD_MAIN_MENU_TEXT + template_text
|
||||
await msg.answer(full_text, parse_mode="html")
|
||||
# Сохраняем шаблоны в sd_sessions для sd_module_handler
|
||||
sd_sessions[user_id]["templates"] = templates
|
||||
sd_sessions[user_id]["template_names"] = {str(i+1): str(t["id"]) for i, t in enumerate(templates)}
|
||||
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:
|
||||
await msg.answer(SD_MAIN_MENU_TEXT, parse_mode="html")
|
||||
except Exception as e:
|
||||
|
||||
Reference in New Issue
Block a user