Adjust keyboards with incidents and OpenWrt submenus
This commit is contained in:
@@ -11,6 +11,8 @@ from keyboards import (
|
||||
system_logs_audit_kb,
|
||||
system_logs_security_kb,
|
||||
system_logs_integrations_kb,
|
||||
system_logs_kb,
|
||||
openwrt_kb,
|
||||
)
|
||||
from system_checks import security, disks, hardware, list_disks, smart_last_test
|
||||
from services.http_checks import get_url_checks, check_url
|
||||
@@ -208,14 +210,14 @@ async def openwrt_status(msg: Message):
|
||||
if not is_admin_msg(msg):
|
||||
return
|
||||
|
||||
await msg.answer("⏳ Checking OpenWrt…", reply_markup=system_info_kb)
|
||||
await msg.answer("⏳ Checking OpenWrt…", reply_markup=openwrt_kb)
|
||||
|
||||
async def worker():
|
||||
try:
|
||||
text = await get_openwrt_status(cfg)
|
||||
except Exception as e:
|
||||
text = f"⚠️ OpenWrt error: {e}"
|
||||
await msg.answer(text, reply_markup=system_info_kb)
|
||||
await msg.answer(text, reply_markup=openwrt_kb)
|
||||
|
||||
asyncio.create_task(worker())
|
||||
|
||||
@@ -231,14 +233,14 @@ async def openwrt_cmd(msg: Message):
|
||||
async def openwrt_wan(msg: Message):
|
||||
if not is_admin_msg(msg):
|
||||
return
|
||||
await msg.answer("⏳ Checking OpenWrt WAN…", reply_markup=system_info_kb)
|
||||
await msg.answer("⏳ Checking OpenWrt WAN…", reply_markup=openwrt_kb)
|
||||
|
||||
async def worker():
|
||||
try:
|
||||
text = await get_openwrt_status(cfg, mode="wan")
|
||||
except Exception as e:
|
||||
text = f"⚠️ OpenWrt error: {e}"
|
||||
await msg.answer(text, reply_markup=system_info_kb)
|
||||
await msg.answer(text, reply_markup=openwrt_kb)
|
||||
|
||||
asyncio.create_task(worker())
|
||||
|
||||
@@ -247,14 +249,14 @@ async def openwrt_wan(msg: Message):
|
||||
async def openwrt_clients(msg: Message):
|
||||
if not is_admin_msg(msg):
|
||||
return
|
||||
await msg.answer("⏳ Checking OpenWrt clients…", reply_markup=system_info_kb)
|
||||
await msg.answer("⏳ Checking OpenWrt clients…", reply_markup=openwrt_kb)
|
||||
|
||||
async def worker():
|
||||
try:
|
||||
text = await get_openwrt_status(cfg, mode="clients")
|
||||
except Exception as e:
|
||||
text = f"⚠️ OpenWrt error: {e}"
|
||||
await msg.answer(text, reply_markup=system_info_kb)
|
||||
await msg.answer(text, reply_markup=openwrt_kb)
|
||||
|
||||
asyncio.create_task(worker())
|
||||
|
||||
@@ -263,30 +265,31 @@ async def openwrt_clients(msg: Message):
|
||||
async def openwrt_leases(msg: Message):
|
||||
if not is_admin_msg(msg):
|
||||
return
|
||||
await msg.answer("⏳ Checking OpenWrt leases…", reply_markup=system_info_kb)
|
||||
await msg.answer("⏳ Checking OpenWrt leases…", reply_markup=openwrt_kb)
|
||||
|
||||
async def worker():
|
||||
try:
|
||||
text = await get_openwrt_status(cfg, mode="leases")
|
||||
except Exception as e:
|
||||
text = f"⚠️ OpenWrt error: {e}"
|
||||
await msg.answer(text, reply_markup=system_info_kb)
|
||||
await msg.answer(text, reply_markup=openwrt_kb)
|
||||
|
||||
asyncio.create_task(worker())
|
||||
|
||||
|
||||
@dp.message(F.text == "/openwrt_fast")
|
||||
@dp.message(F.text == "🌐 WAN fast")
|
||||
async def openwrt_fast(msg: Message):
|
||||
if not is_admin_msg(msg):
|
||||
return
|
||||
await msg.answer("⏳ OpenWrt fast…", reply_markup=system_info_kb)
|
||||
await msg.answer("⏳ OpenWrt fast…", reply_markup=openwrt_kb)
|
||||
|
||||
async def worker():
|
||||
try:
|
||||
text = await get_openwrt_status(cfg, mode="wan")
|
||||
except Exception as e:
|
||||
text = f"⚠️ OpenWrt error: {e}"
|
||||
await msg.answer(text, reply_markup=system_info_kb)
|
||||
await msg.answer(text, reply_markup=openwrt_kb)
|
||||
|
||||
asyncio.create_task(worker())
|
||||
|
||||
@@ -332,6 +335,17 @@ async def incidents(msg: Message):
|
||||
await msg.answer(text, reply_markup=system_logs_audit_kb, parse_mode="Markdown")
|
||||
|
||||
|
||||
@dp.message(F.text == "🧾 Incidents")
|
||||
async def incidents_entry(msg: Message):
|
||||
if not is_admin_msg(msg):
|
||||
return
|
||||
await msg.answer(
|
||||
"📣 Incidents menu:\n"
|
||||
"- Summary\n- Diff\n- Heatmap\n- Export/All\n- Alerts log",
|
||||
reply_markup=system_logs_audit_kb,
|
||||
)
|
||||
|
||||
|
||||
@dp.message(F.text == "/incidents_summary")
|
||||
async def incidents_summary(msg: Message):
|
||||
if not is_admin_msg(msg):
|
||||
@@ -607,13 +621,13 @@ async def docker_restarts(msg: Message):
|
||||
async def openwrt_leases_diff(msg: Message):
|
||||
if not is_admin_msg(msg):
|
||||
return
|
||||
await msg.answer("⏳ OpenWrt leases diff…", reply_markup=system_info_kb)
|
||||
await msg.answer("⏳ OpenWrt leases diff…", reply_markup=openwrt_kb)
|
||||
|
||||
async def worker():
|
||||
try:
|
||||
leases_now = await fetch_openwrt_leases(cfg)
|
||||
except Exception as e:
|
||||
await msg.answer(f"⚠️ OpenWrt error: {e}", reply_markup=system_info_kb)
|
||||
await msg.answer(f"⚠️ OpenWrt error: {e}", reply_markup=openwrt_kb)
|
||||
return
|
||||
prev = runtime_state.get("openwrt_leases_prev", [])
|
||||
if not prev:
|
||||
@@ -634,12 +648,12 @@ async def openwrt_leases_diff(msg: Message):
|
||||
if len(added) > 50 or len(removed) > 50:
|
||||
lines.append("… trimmed")
|
||||
runtime_state.set_state("openwrt_leases_prev", leases_now)
|
||||
await msg.answer("\n".join(lines), reply_markup=system_info_kb)
|
||||
await msg.answer("\n".join(lines), reply_markup=openwrt_kb)
|
||||
|
||||
asyncio.create_task(worker())
|
||||
|
||||
|
||||
@dp.message(F.text == "/queue_sla")
|
||||
@dp.message(F.text.in_({"/queue_sla", "📊 Queue SLA"}))
|
||||
async def queue_sla(msg: Message):
|
||||
if not is_admin_msg(msg):
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user