feat: Add ReplyToMessage context for Telegram

This commit is contained in:
Bernardo 2026-03-10 22:31:57 +01:00
parent 4e1ca1e9c8
commit e6deebdc2c

View file

@ -431,6 +431,25 @@ func (c *TelegramChannel) handleMessage(ctx context.Context, message *telego.Mes
}
return localPath // fallback: use raw path
}
if message.ReplyToMessage != nil {
replyText := message.ReplyToMessage.Text
if replyText == "" {
replyText = message.ReplyToMessage.Caption
}
if message.ReplyToMessage.Document != nil {
if replyText != "" {
replyText += "\n"
}
fileName := message.ReplyToMessage.Document.FileName
if fileName == "" {
fileName = "document"
}
replyText += fmt.Sprintf("[attached file: %s]", fileName)
}
if replyText != "" {
content += fmt.Sprintf("> Replying to: %s\n\n", utils.Truncate(replyText, 200))
}
}
if message.Text != "" {
content += message.Text
@ -481,14 +500,19 @@ func (c *TelegramChannel) handleMessage(ctx context.Context, message *telego.Mes
if message.Document != nil {
docPath := c.downloadFile(ctx, message.Document.FileID, "")
if docPath != "" {
mediaPaths = append(mediaPaths, storeMedia(docPath, "document"))
fileName := message.Document.FileName
if fileName == "" {
fileName = "document"
}
mediaPaths = append(mediaPaths, storeMedia(docPath, fileName))
if content != "" {
content += "\n"
}
content += "[file]"
content += fmt.Sprintf("[attached file: %s]", fileName)
}
}
if content == "" {
content = "[empty message]"
}