From 55a51766ac2c9eabfb01b944f4e663058bbf34d8 Mon Sep 17 00:00:00 2001 From: Vishnuvardhan Reddy Date: Thu, 26 Feb 2026 14:31:36 +0000 Subject: [PATCH] fix(telegram): add detailed error logging for message send failures - Log target chat ID/username and error details when sending fails - Log both HTML and plain text fallback failures - Include is_username flag for debugging --- pkg/channels/telegram.go | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/pkg/channels/telegram.go b/pkg/channels/telegram.go index 5637b2512..2e33d7c16 100644 --- a/pkg/channels/telegram.go +++ b/pkg/channels/telegram.go @@ -232,12 +232,21 @@ func (c *TelegramChannel) Send(ctx context.Context, msg bus.OutboundMessage) err tgMsg.ParseMode = telego.ModeHTML if _, err = c.bot.SendMessage(ctx, tgMsg); err != nil { - logger.ErrorCF("telegram", "HTML parse failed, falling back to plain text", map[string]any{ - "error": err.Error(), + logger.ErrorCF("telegram", "Failed to send message", map[string]any{ + "target": msg.ChatID, + "is_username": isUsername, + "error": err.Error(), }) tgMsg.ParseMode = "" _, err = c.bot.SendMessage(ctx, tgMsg) - return err + if err != nil { + logger.ErrorCF("telegram", "Failed to send message (plain text fallback also failed)", map[string]any{ + "target": msg.ChatID, + "is_username": isUsername, + "error": err.Error(), + }) + return fmt.Errorf("failed to send telegram message to %s: %w", msg.ChatID, err) + } } return nil