fix(feishu): keep interactive card content as valid JSON
This commit is contained in:
parent
00b05ed043
commit
b35379087e
1 changed files with 6 additions and 10 deletions
|
|
@ -373,22 +373,18 @@ func (c *FeishuChannel) handleMessageReceive(ctx context.Context, event *larkim.
|
|||
mediaRefs = c.downloadInboundMedia(ctx, chatID, messageID, messageType, rawContent, store)
|
||||
}
|
||||
|
||||
// Append media tags to content (like Telegram does)
|
||||
content = appendMediaTags(content, messageType, mediaRefs)
|
||||
|
||||
// For interactive cards, append external image URLs directly for LLM
|
||||
// For interactive cards, pass external image URLs via media refs.
|
||||
// Keep content as valid raw JSON for downstream parsing.
|
||||
if messageType == larkim.MsgTypeInteractive {
|
||||
_, externalURLs := extractCardImageKeys(rawContent)
|
||||
if len(externalURLs) > 0 {
|
||||
urlTags := "\n[external images:"
|
||||
for _, u := range externalURLs {
|
||||
urlTags += " " + u
|
||||
}
|
||||
urlTags += "]"
|
||||
content += urlTags
|
||||
mediaRefs = append(mediaRefs, externalURLs...)
|
||||
}
|
||||
}
|
||||
|
||||
// Append media tags to content (like Telegram does)
|
||||
content = appendMediaTags(content, messageType, mediaRefs)
|
||||
|
||||
if content == "" {
|
||||
content = "[empty message]"
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue