Split Logs menu into subcategories
This commit is contained in:
@@ -3,7 +3,7 @@ from aiogram import F
|
||||
from aiogram.types import Message, CallbackQuery, InlineKeyboardMarkup, InlineKeyboardButton
|
||||
from app import dp, ADMIN_ID
|
||||
from auth import is_admin_msg
|
||||
from keyboards import system_logs_kb
|
||||
from keyboards import system_logs_tools_kb
|
||||
from services.processes import get_top_processes, search_processes, terminate_process
|
||||
from state import PROC_SEARCH_PENDING, PROC_KILL_PENDING
|
||||
|
||||
@@ -61,11 +61,11 @@ async def proc_actions(cb: CallbackQuery):
|
||||
return
|
||||
if action == "search":
|
||||
PROC_SEARCH_PENDING[cb.from_user.id] = {}
|
||||
await cb.message.answer("🔍 Send search text", reply_markup=system_logs_kb)
|
||||
await cb.message.answer("🔍 Send search text", reply_markup=system_logs_tools_kb)
|
||||
return
|
||||
if action == "kill":
|
||||
PROC_KILL_PENDING[cb.from_user.id] = {}
|
||||
await cb.message.answer("🛑 Send PID to terminate", reply_markup=system_logs_kb)
|
||||
await cb.message.answer("🛑 Send PID to terminate", reply_markup=system_logs_tools_kb)
|
||||
return
|
||||
|
||||
|
||||
@@ -76,12 +76,12 @@ async def proc_search(msg: Message):
|
||||
PROC_SEARCH_PENDING.pop(msg.from_user.id, None)
|
||||
query = (msg.text or "").strip()
|
||||
if not query:
|
||||
await msg.answer("⚠️ Empty search", reply_markup=system_logs_kb)
|
||||
await msg.answer("⚠️ Empty search", reply_markup=system_logs_tools_kb)
|
||||
return
|
||||
|
||||
rows = await asyncio.to_thread(search_processes, query)
|
||||
if not rows:
|
||||
await msg.answer("🔍 No matches", reply_markup=system_logs_kb)
|
||||
await msg.answer("🔍 No matches", reply_markup=system_logs_tools_kb)
|
||||
return
|
||||
|
||||
lines = ["PID NAME CMD"]
|
||||
@@ -92,7 +92,7 @@ async def proc_search(msg: Message):
|
||||
lines.append(f"{row['pid']:<5} {row['name']:<6} {cmd}")
|
||||
|
||||
text = "🔍 **Search results**\n```\n" + "\n".join(lines) + "\n```"
|
||||
await msg.answer(text, reply_markup=system_logs_kb, parse_mode="Markdown")
|
||||
await msg.answer(text, reply_markup=system_logs_tools_kb, parse_mode="Markdown")
|
||||
|
||||
|
||||
@dp.message(F.text, F.func(lambda msg: msg.from_user and msg.from_user.id in PROC_KILL_PENDING))
|
||||
@@ -104,7 +104,7 @@ async def proc_kill_pid(msg: Message):
|
||||
try:
|
||||
pid = int(raw)
|
||||
except ValueError:
|
||||
await msg.answer("⚠️ Invalid PID", reply_markup=system_logs_kb)
|
||||
await msg.answer("⚠️ Invalid PID", reply_markup=system_logs_tools_kb)
|
||||
return
|
||||
|
||||
kb = InlineKeyboardMarkup(
|
||||
@@ -138,4 +138,4 @@ async def proc_kill_confirm(cb: CallbackQuery):
|
||||
return
|
||||
await cb.answer()
|
||||
result = await asyncio.to_thread(terminate_process, pid)
|
||||
await cb.message.answer(result, reply_markup=system_logs_kb)
|
||||
await cb.message.answer(result, reply_markup=system_logs_tools_kb)
|
||||
|
||||
Reference in New Issue
Block a user