From 6d5fb9c258c28148e7e26b8b6c43826a5111231f Mon Sep 17 00:00:00 2001 From: benya Date: Sun, 15 Feb 2026 01:12:45 +0300 Subject: [PATCH] Harden docker callback parsing and remove duplicate /openwrt handler --- handlers/callbacks.py | 11 +++++++++-- handlers/system.py | 7 ------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/handlers/callbacks.py b/handlers/callbacks.py index 71e5afc..a2d9ae5 100644 --- a/handlers/callbacks.py +++ b/handlers/callbacks.py @@ -15,8 +15,15 @@ async def docker_callback(cb: CallbackQuery): if cb.from_user.id != ADMIN_ID: return - _, action, alias = cb.data.split(":", 2) - real = DOCKER_MAP[alias] + try: + _, action, alias = cb.data.split(":", 2) + except ValueError: + await cb.answer("Bad request") + return + real = DOCKER_MAP.get(alias) + if not real: + await cb.answer("Container not found") + return if action == "restart": await cb.answer("Restarting…") diff --git a/handlers/system.py b/handlers/system.py index 53550bd..97425c3 100644 --- a/handlers/system.py +++ b/handlers/system.py @@ -223,13 +223,6 @@ async def openwrt_status(msg: Message): asyncio.create_task(worker()) -@dp.message(F.text == "/openwrt") -async def openwrt_cmd(msg: Message): - if not is_admin_msg(msg): - return - await openwrt_status(msg) - - @dp.message(F.text == "/openwrt_wan") async def openwrt_wan(msg: Message): if not is_admin_msg(msg):