From 16941d76e8426bee9510da902dd2288cbdcf8ed7 Mon Sep 17 00:00:00 2001 From: gahusb Date: Thu, 14 May 2026 00:17:53 +0900 Subject: [PATCH] fix(ai_news): escape MarkdownV2 reserved chars in score (+, -, .) --- stock-lab/app/screener/ai_news/telegram.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/stock-lab/app/screener/ai_news/telegram.py b/stock-lab/app/screener/ai_news/telegram.py index bdaf438..c5b1466 100644 --- a/stock-lab/app/screener/ai_news/telegram.py +++ b/stock-lab/app/screener/ai_news/telegram.py @@ -19,9 +19,10 @@ def _cost_won(tokens_input: int, tokens_output: int) -> int: def _row_line(idx: int, r: Dict[str, Any]) -> str: score = r["score_raw"] - sign = "+" if score >= 0 else "" + # score 문자열 자체를 _escape 통과 — '+', '-', '.' 모두 MarkdownV2 reserved + score_str = _escape(f"{score:+.1f}") return ( - f"{idx}\\. {_escape(r['ticker'])} \\({sign}{score:.1f}\\) — " + f"{idx}\\. {_escape(r['ticker'])} \\({score_str}\\) — " f"{_escape(r['reason'])}" )