fix(group): 群組告警格式對齊 TelegramMessage 模板 + 修復 AI 討論觸發
Some checks failed
CD Pipeline / build-and-deploy (push) Has been cancelled
Some checks failed
CD Pipeline / build-and-deploy (push) Has been cancelled
- 群組告警改用 ═══ 分隔線格式,與個人 chat 一致 - 加入「OpenClaw 與 NemoClaw 正在分析中...」提示 - 加 group_msg_id 為空時的 warning log - clawbot-v5 STANDBY_MODE: main.py 檢查條件修正 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1404,13 +1404,18 @@ class TelegramGateway:
|
||||
由 asyncio.create_task 非同步呼叫,失敗不影響主告警流程。
|
||||
"""
|
||||
try:
|
||||
risk_emoji = {"critical": "🔴", "medium": "🟡", "low": "🟢"}.get(risk_level, "⚪")
|
||||
# 2026-04-03 ogt: 群組告警格式對齊個人 chat 的 TelegramMessage 模板
|
||||
risk_emoji = RISK_EMOJI_MAP.get(risk_level.lower(), "⚪")
|
||||
summary = (
|
||||
f"{risk_emoji} <b>[{risk_level.upper()}] SRE 告警</b>\n\n"
|
||||
f"📦 資源: <code>{resource_name}</code>\n"
|
||||
f"🔍 根因: {root_cause}\n"
|
||||
f"💡 建議: {suggested_action}\n"
|
||||
f"🆔 <code>{approval_id}</code>"
|
||||
f"═══════════════════════════\n"
|
||||
f"{risk_emoji} <b>{risk_level.upper()}</b> | <code>{html.escape(resource_name[:30])}</code>\n"
|
||||
f"═══════════════════════════\n"
|
||||
f"📋 <code>{html.escape(approval_id)}</code>\n"
|
||||
f"━━━━━━━━━━━━━━━━━━━\n"
|
||||
f"🔍 根因: {html.escape(root_cause[:120])}\n"
|
||||
f"🔧 建議: {html.escape(suggested_action[:80])}\n"
|
||||
f"━━━━━━━━━━━━━━━━━━━\n"
|
||||
f"⬇️ OpenClaw 與 NemoClaw 正在分析中..."
|
||||
)
|
||||
group_result = await self.send_to_group(text=summary)
|
||||
group_msg_id = (
|
||||
@@ -1424,6 +1429,8 @@ class TelegramGateway:
|
||||
alert_message_id=group_msg_id,
|
||||
alert_summary=f"[{risk_level.upper()}] 資源: {resource_name}\n根因: {root_cause}\n建議: {suggested_action}",
|
||||
)
|
||||
else:
|
||||
logger.warning("send_approval_card_to_group_no_msg_id", approval_id=approval_id)
|
||||
except Exception as e:
|
||||
logger.error("send_approval_card_to_group_failed", error=str(e))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user