fix(wecom): improve WS image message handling by ensuring proper error response and initializing mediaRefs
This commit is contained in:
parent
1a753c9248
commit
d417bec3ca
1 changed files with 4 additions and 3 deletions
|
|
@ -662,14 +662,15 @@ func (c *WeComAIBotWSChannel) handleWSImageMessage(reqID string, msg WeComAIBotW
|
||||||
ctx, cancel := context.WithTimeout(c.ctx, wsImageDownloadTimeout)
|
ctx, cancel := context.WithTimeout(c.ctx, wsImageDownloadTimeout)
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
var mediaRefs []string
|
mediaRefs := make([]string, 0, 1)
|
||||||
ref, err := c.storeWSImage(ctx, chatID, msg.MsgID, msg.Image.URL, msg.Image.AESKey)
|
ref, err := c.storeWSImage(ctx, chatID, msg.MsgID, msg.Image.URL, msg.Image.AESKey)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.WarnCF("wecom_aibot", "Failed to download/store WS image",
|
logger.WarnCF("wecom_aibot", "Failed to download/store WS image",
|
||||||
map[string]any{"error": err.Error(), "url": msg.Image.URL})
|
map[string]any{"error": err.Error(), "url": msg.Image.URL})
|
||||||
} else {
|
c.wsSendStreamFinish(reqID, wsGenerateID(), "Image message could not be processed.")
|
||||||
mediaRefs = append(mediaRefs, ref)
|
return
|
||||||
}
|
}
|
||||||
|
mediaRefs = append(mediaRefs, ref)
|
||||||
|
|
||||||
c.dispatchWSAgentTask(reqID, msg, "[image]", mediaRefs)
|
c.dispatchWSAgentTask(reqID, msg, "[image]", mediaRefs)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue