mirror of
https://github.com/Mrs4s/go-cqhttp.git
synced 2025-05-07 04:23:49 +08:00
simply makeShowPic.
This commit is contained in:
parent
7274a46a3c
commit
6d5bf84603
@ -933,8 +933,9 @@ func (bot *CQBot) ToElement(t string, d map[string]string, isGroup bool) (m inte
|
|||||||
|
|
||||||
// XMLEscape 将字符串c转义为XML字符串
|
// XMLEscape 将字符串c转义为XML字符串
|
||||||
func XMLEscape(c string) string {
|
func XMLEscape(c string) string {
|
||||||
buf := new(bytes.Buffer)
|
buf := global.NewBuffer()
|
||||||
_ = xml2.EscapeText(buf, []byte(c))
|
defer global.PutBuffer(buf)
|
||||||
|
_ = xml2.EscapeText(buf, utils.S2B(c))
|
||||||
return buf.String()
|
return buf.String()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1173,40 +1174,26 @@ func (bot *CQBot) makeShowPic(elem message.IMessageElement, source string, brief
|
|||||||
if brief == "" {
|
if brief == "" {
|
||||||
brief = "[分享]我看到一张很赞的图片,分享给你,快来看!"
|
brief = "[分享]我看到一张很赞的图片,分享给你,快来看!"
|
||||||
}
|
}
|
||||||
if i, ok := elem.(*LocalImageElement); ok {
|
if _, ok := elem.(*LocalImageElement); ok {
|
||||||
r := rand.Uint32()
|
r := rand.Uint32()
|
||||||
if !group {
|
e, err := bot.uploadMedia(elem, int64(r), group)
|
||||||
gm, err := bot.UploadLocalImageAsPrivate(int64(r), i)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Warnf("警告: 好友消息 %v 消息图片上传失败: %v", 1, err)
|
log.Warnf("警告: 图片上传失败: %v", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
suf = gm
|
elem = e
|
||||||
xml = fmt.Sprintf(`<?xml version='1.0' encoding='UTF-8' standalone='yes' ?><msg serviceID="5" templateID="12345" action="" brief="%s" sourceMsgId="0" url="%s" flag="0" adverSign="0" multiMsgFlag="0"><item layout="0" advertiser_id="0" aid="0"><image uuid="%x" md5="%x" GroupFiledid="0" filesize="%d" local_path="%s" minWidth="%d" minHeight="%d" maxWidth="%d" maxHeight="%d" /></item><source name="%s" icon="%s" action="" appid="-1" /></msg>`, brief, "", gm.Md5, gm.Md5, gm.Size, "", minWidth, minHeight, maxWidth, maxHeight, source, icon)
|
|
||||||
} else {
|
|
||||||
gm, err := bot.UploadLocalImageAsGroup(int64(r), i)
|
|
||||||
if err != nil {
|
|
||||||
log.Warnf("警告: 群 %v 消息图片上传失败: %v", 1, err)
|
|
||||||
return nil, err
|
|
||||||
}
|
}
|
||||||
suf = gm
|
switch i := elem.(type) {
|
||||||
xml = fmt.Sprintf(`<?xml version='1.0' encoding='UTF-8' standalone='yes' ?><msg serviceID="5" templateID="12345" action="" brief="%s" sourceMsgId="0" url="%s" flag="0" adverSign="0" multiMsgFlag="0"><item layout="0" advertiser_id="0" aid="0"><image uuid="%x" md5="%x" GroupFiledid="0" filesize="%d" local_path="%s" minWidth="%d" minHeight="%d" maxWidth="%d" maxHeight="%d" /></item><source name="%s" icon="%s" action="" appid="-1" /></msg>`, brief, "", gm.Md5, gm.Md5, gm.Size, "", minWidth, minHeight, maxWidth, maxHeight, source, icon)
|
case *message.GroupImageElement:
|
||||||
}
|
xml = fmt.Sprintf(`<?xml version='1.0' encoding='UTF-8' standalone='yes' ?><msg serviceID="5" templateID="12345" action="" brief="%s" sourceMsgId="0" url="%s" flag="0" adverSign="0" multiMsgFlag="0"><item layout="0" advertiser_id="0" aid="0"><image uuid="%x" md5="%x" GroupFiledid="0" filesize="%d" local_path="%s" minWidth="%d" minHeight="%d" maxWidth="%d" maxHeight="%d" /></item><source name="%s" icon="%s" action="" appid="-1" /></msg>`, brief, "", i.Md5, i.Md5, 0, "", minWidth, minHeight, maxWidth, maxHeight, source, icon)
|
||||||
}
|
suf = i
|
||||||
|
case *message.FriendImageElement:
|
||||||
if i, ok := elem.(*message.GroupImageElement); ok {
|
|
||||||
xml = fmt.Sprintf(`<?xml version='1.0' encoding='UTF-8' standalone='yes' ?><msg serviceID="5" templateID="12345" action="" brief="%s" sourceMsgId="0" url="%s" flag="0" adverSign="0" multiMsgFlag="0"><item layout="0" advertiser_id="0" aid="0"><image uuid="%x" md5="%x" GroupFiledid="0" filesize="%d" local_path="%s" minWidth="%d" minHeight="%d" maxWidth="%d" maxHeight="%d" /></item><source name="%s" icon="%s" action="" appid="-1" /></msg>`, brief, "", i.Md5, i.Md5, 0, "", minWidth, minHeight, maxWidth, maxHeight, source, icon)
|
xml = fmt.Sprintf(`<?xml version='1.0' encoding='UTF-8' standalone='yes' ?><msg serviceID="5" templateID="12345" action="" brief="%s" sourceMsgId="0" url="%s" flag="0" adverSign="0" multiMsgFlag="0"><item layout="0" advertiser_id="0" aid="0"><image uuid="%x" md5="%x" GroupFiledid="0" filesize="%d" local_path="%s" minWidth="%d" minHeight="%d" maxWidth="%d" maxHeight="%d" /></item><source name="%s" icon="%s" action="" appid="-1" /></msg>`, brief, "", i.Md5, i.Md5, 0, "", minWidth, minHeight, maxWidth, maxHeight, source, icon)
|
||||||
suf = i
|
suf = i
|
||||||
}
|
}
|
||||||
if i, ok := elem.(*message.FriendImageElement); ok {
|
if xml == "" {
|
||||||
xml = fmt.Sprintf(`<?xml version='1.0' encoding='UTF-8' standalone='yes' ?><msg serviceID="5" templateID="12345" action="" brief="%s" sourceMsgId="0" url="%s" flag="0" adverSign="0" multiMsgFlag="0"><item layout="0" advertiser_id="0" aid="0"><image uuid="%x" md5="%x" GroupFiledid="0" filesize="%d" local_path="%s" minWidth="%d" minHeight="%d" maxWidth="%d" maxHeight="%d" /></item><source name="%s" icon="%s" action="" appid="-1" /></msg>`, brief, "", i.Md5, i.Md5, 0, "", minWidth, minHeight, maxWidth, maxHeight, source, icon)
|
|
||||||
suf = i
|
|
||||||
}
|
|
||||||
if xml != "" {
|
|
||||||
// log.Warn(xml)
|
|
||||||
ret := []message.IMessageElement{suf}
|
|
||||||
ret = append(ret, message.NewRichXml(xml, 5))
|
|
||||||
return ret, nil
|
|
||||||
}
|
|
||||||
return nil, errors.New("生成xml图片消息失败")
|
return nil, errors.New("生成xml图片消息失败")
|
||||||
|
}
|
||||||
|
ret := []message.IMessageElement{suf, message.NewRichXml(xml, 5)}
|
||||||
|
return ret, nil
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user