From 9672e325c2d1e7b33e7c08891b4630c781ec3bfa Mon Sep 17 00:00:00 2001 From: user Date: Tue, 17 Feb 2026 12:22:23 +0100 Subject: [PATCH] fix: show full alert titles, split metadata into ACTION line ACTION carries the tag/date/URL, PRIVMSG carries the uncropped title. Removes _truncate on alert output for better readability. Co-Authored-By: Claude Opus 4.6 --- plugins/alert.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/alert.py b/plugins/alert.py index d93059a..082d9dc 100644 --- a/plugins/alert.py +++ b/plugins/alert.py @@ -1803,15 +1803,15 @@ async def _poll_once(bot, key: str, announce: bool = True) -> None: short_id = _save_result( channel, name, tag, item, short_url=short_url, ) - title = _truncate(item["title"]) if item["title"] else "(no title)" + title = item["title"] or "(no title)" date = item.get("date", "") - line = f"[{name}/{tag}/{short_id}]" + meta = f"[{name}/{tag}/{short_id}]" if date: - line += f" ({date})" - line += f" {title}" + meta += f" {date}" if display_url: - line += f" -- {display_url}" - await bot.send(channel, line) + meta += f" - {display_url}" + await bot.action(channel, meta) + await bot.send(channel, title) for item in new_items: seen_list.append(item["id"])