diff --git a/handlers/arcane.py b/handlers/arcane.py index 29e8461..b868acc 100644 --- a/handlers/arcane.py +++ b/handlers/arcane.py @@ -13,13 +13,16 @@ def _arcane_cfg(): return arc.get("base_url"), arc.get("api_key"), int(arc.get("env_id", 0)) -async def cmd_arcane_projects(msg: Message): +async def cmd_arcane_projects(msg: Message, *, edit: bool): base_url, api_key, env_id = _arcane_cfg() if not base_url or not api_key: await msg.answer("⚠️ Arcane config missing", reply_markup=docker_kb) return - await msg.answer("⏳ Arcane projects…", reply_markup=arcane_kb) + if edit: + await msg.edit_text("⏳ Arcane projects…", reply_markup=arcane_kb) + else: + await msg.answer("⏳ Arcane projects…", reply_markup=arcane_kb) async def worker(): ok, info, items = await asyncio.to_thread(list_projects, base_url, api_key, env_id) @@ -45,7 +48,10 @@ async def cmd_arcane_projects(msg: Message): ]) kb = InlineKeyboardMarkup(inline_keyboard=rows) if rows else arcane_kb - await msg.answer("\n".join(lines), reply_markup=kb) + if edit: + await msg.edit_text("\n".join(lines), reply_markup=kb) + else: + await msg.answer("\n".join(lines), reply_markup=kb) asyncio.create_task(worker()) @@ -53,13 +59,13 @@ async def cmd_arcane_projects(msg: Message): @dp.message(F.text == "🧰 Arcane") async def arcane_menu(msg: Message): if is_admin_msg(msg): - await cmd_arcane_projects(msg) + await cmd_arcane_projects(msg, edit=False) @dp.message(F.text == "🔄 Refresh") async def arcane_refresh(msg: Message): if is_admin_msg(msg): - await cmd_arcane_projects(msg) + await cmd_arcane_projects(msg, edit=True) @dp.callback_query(F.data.startswith("arcane:restart:"))