Add weekly report, multi-admin, docker health cmd, backup tail, openwrt filters
This commit is contained in:
@@ -5,7 +5,7 @@ from aiogram.types import Message, CallbackQuery, InlineKeyboardMarkup, InlineKe
|
||||
from app import dp, bot, cfg, ADMIN_ID
|
||||
from auth import is_admin_msg
|
||||
from services.alert_mute import set_mute, clear_mute, list_mutes
|
||||
from services.incidents import read_recent
|
||||
from services.incidents import read_recent, log_incident
|
||||
from services.notify import notify
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@ async def _handle_alerts(msg: Message, action: str, args: list[str]):
|
||||
key = f"test:{level}:{int(time.time())}"
|
||||
await notify(bot, msg.chat.id, f"[TEST] {level.upper()} alert", level=level, key=key, category="test")
|
||||
await msg.answer(f"Sent test alert: {level}")
|
||||
log_incident(cfg, f"alert_test level={level} by {msg.from_user.id}")
|
||||
return
|
||||
|
||||
if action == "mute":
|
||||
@@ -48,6 +49,7 @@ async def _handle_alerts(msg: Message, action: str, args: list[str]):
|
||||
until = set_mute(category, minutes * 60)
|
||||
dt = datetime.fromtimestamp(until, tz=timezone.utc).astimezone()
|
||||
await msg.answer(f"🔕 Muted {category} for {minutes}m (until {dt:%Y-%m-%d %H:%M:%S})")
|
||||
log_incident(cfg, f"alert_mute category={category} minutes={minutes} by {msg.from_user.id}")
|
||||
return
|
||||
|
||||
if action == "unmute":
|
||||
@@ -57,6 +59,7 @@ async def _handle_alerts(msg: Message, action: str, args: list[str]):
|
||||
category = args[0].lower()
|
||||
clear_mute(category)
|
||||
await msg.answer(f"🔔 Unmuted {category}")
|
||||
log_incident(cfg, f"alert_unmute category={category} by {msg.from_user.id}")
|
||||
return
|
||||
|
||||
if action in ("list", "mutes"):
|
||||
|
||||
Reference in New Issue
Block a user