fix: 更新 ImageMessage 的 URL 处理逻辑,增加对特殊字符的转义支持
This commit is contained in:
parent
91f713d3de
commit
9cc853d4e5
@ -51,6 +51,11 @@ func (msg *ImageMessage) ToCQString() string {
|
|||||||
// URL 转义
|
// URL 转义
|
||||||
escapedURL := url.QueryEscape(msg.Data.URL)
|
escapedURL := url.QueryEscape(msg.Data.URL)
|
||||||
|
|
||||||
|
escapedURL = strings.ReplaceAll(escapedURL, ",", ",")
|
||||||
|
escapedURL = strings.ReplaceAll(escapedURL, "[", "[")
|
||||||
|
escapedURL = strings.ReplaceAll(escapedURL, "]", "]")
|
||||||
|
escapedURL = strings.ReplaceAll(escapedURL, "&", "&")
|
||||||
|
|
||||||
// 构造 CQ:image 字符串
|
// 构造 CQ:image 字符串
|
||||||
cqString := fmt.Sprintf("[CQ:image,file=%s,sub_type=%s,file_id=%s,url=%s,file_size=%s,file_unique=%s]",
|
cqString := fmt.Sprintf("[CQ:image,file=%s,sub_type=%s,file_id=%s,url=%s,file_size=%s,file_unique=%s]",
|
||||||
msg.Data.File, msg.Data.SubType, msg.Data.FileID, escapedURL, msg.Data.FileSize, msg.Data.FileUnique)
|
msg.Data.File, msg.Data.SubType, msg.Data.FileID, escapedURL, msg.Data.FileSize, msg.Data.FileUnique)
|
||||||
@ -75,7 +80,14 @@ func (msg *ImageMessage) ParseMessage(data string) error {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
msg.Data.URL = attrs["url"]
|
escapedURL := url.QueryEscape(attrs["url"])
|
||||||
|
|
||||||
|
escapedURL = strings.ReplaceAll(escapedURL, ",", ",")
|
||||||
|
escapedURL = strings.ReplaceAll(escapedURL, "[", "[")
|
||||||
|
escapedURL = strings.ReplaceAll(escapedURL, "]", "]")
|
||||||
|
escapedURL = strings.ReplaceAll(escapedURL, "&", "&")
|
||||||
|
|
||||||
|
msg.Data.URL = escapedURL
|
||||||
msg.Data.Summary = attrs["summary"]
|
msg.Data.Summary = attrs["summary"]
|
||||||
msg.Data.File = attrs["file"]
|
msg.Data.File = attrs["file"]
|
||||||
msg.Data.Key = attrs["key"]
|
msg.Data.Key = attrs["key"]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user