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
This commit is contained in:
parent
9ee43ffcd3
commit
55a51766ac
1 changed files with 12 additions and 3 deletions
|
|
@ -232,12 +232,21 @@ func (c *TelegramChannel) Send(ctx context.Context, msg bus.OutboundMessage) err
|
||||||
tgMsg.ParseMode = telego.ModeHTML
|
tgMsg.ParseMode = telego.ModeHTML
|
||||||
|
|
||||||
if _, err = c.bot.SendMessage(ctx, tgMsg); err != nil {
|
if _, err = c.bot.SendMessage(ctx, tgMsg); err != nil {
|
||||||
logger.ErrorCF("telegram", "HTML parse failed, falling back to plain text", map[string]any{
|
logger.ErrorCF("telegram", "Failed to send message", map[string]any{
|
||||||
|
"target": msg.ChatID,
|
||||||
|
"is_username": isUsername,
|
||||||
"error": err.Error(),
|
"error": err.Error(),
|
||||||
})
|
})
|
||||||
tgMsg.ParseMode = ""
|
tgMsg.ParseMode = ""
|
||||||
_, err = c.bot.SendMessage(ctx, tgMsg)
|
_, 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
|
return nil
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue