mirror of
https://github.com/Mrs4s/go-cqhttp.git
synced 2025-05-05 11:33:48 +08:00
fix #397.
This commit is contained in:
parent
3d81777ed1
commit
36b235871f
@ -214,6 +214,7 @@ func (bot *CQBot) SendGroupMessage(groupId int64, m *message.SendingMessage) int
|
|||||||
return -1
|
return -1
|
||||||
}
|
}
|
||||||
m.Elements = newElem
|
m.Elements = newElem
|
||||||
|
bot.checkMedia(newElem)
|
||||||
ret := bot.Client.SendGroupMessage(groupId, m, ForceFragmented)
|
ret := bot.Client.SendGroupMessage(groupId, m, ForceFragmented)
|
||||||
if ret == nil || ret.Id == -1 {
|
if ret == nil || ret.Id == -1 {
|
||||||
log.Warnf("群消息发送失败: 账号可能被风控.")
|
log.Warnf("群消息发送失败: 账号可能被风控.")
|
||||||
@ -295,6 +296,7 @@ func (bot *CQBot) SendPrivateMessage(target int64, m *message.SendingMessage) in
|
|||||||
newElem = append(newElem, elem)
|
newElem = append(newElem, elem)
|
||||||
}
|
}
|
||||||
m.Elements = newElem
|
m.Elements = newElem
|
||||||
|
bot.checkMedia(newElem)
|
||||||
var id int32 = -1
|
var id int32 = -1
|
||||||
if bot.Client.FindFriend(target) != nil { // 双向好友
|
if bot.Client.FindFriend(target) != nil { // 双向好友
|
||||||
msg := bot.Client.SendPrivateMessage(target, m)
|
msg := bot.Client.SendPrivateMessage(target, m)
|
||||||
|
@ -243,6 +243,10 @@ func ToStringMessage(e []message.IMessageElement, code int64, raw ...bool) (r st
|
|||||||
} else {
|
} else {
|
||||||
r += fmt.Sprintf(`[CQ:image,file=%s,url=%s]`, o.Filename, CQCodeEscapeValue(o.Url))
|
r += fmt.Sprintf(`[CQ:image,file=%s,url=%s]`, o.Filename, CQCodeEscapeValue(o.Url))
|
||||||
}
|
}
|
||||||
|
case *message.GroupImageElement:
|
||||||
|
r += fmt.Sprintf("[CQ:image,file=%s]", hex.EncodeToString(o.Md5)+".image")
|
||||||
|
case *message.FriendImageElement:
|
||||||
|
r += fmt.Sprintf("[CQ:image,file=%s]", hex.EncodeToString(o.Md5)+".image")
|
||||||
case *message.ServiceElement:
|
case *message.ServiceElement:
|
||||||
if isOk := strings.Contains(o.Content, "<?xml"); isOk {
|
if isOk := strings.Contains(o.Content, "<?xml"); isOk {
|
||||||
r += fmt.Sprintf(`[CQ:xml,data=%s,resid=%d]`, CQCodeEscapeValue(o.Content), o.Id)
|
r += fmt.Sprintf(`[CQ:xml,data=%s,resid=%d]`, CQCodeEscapeValue(o.Content), o.Id)
|
||||||
|
@ -478,6 +478,26 @@ func (bot *CQBot) checkMedia(e []message.IMessageElement) {
|
|||||||
}), 0644)
|
}), 0644)
|
||||||
}
|
}
|
||||||
i.Filename = filename
|
i.Filename = filename
|
||||||
|
case *message.GroupImageElement:
|
||||||
|
filename := hex.EncodeToString(i.Md5) + ".image"
|
||||||
|
if !global.PathExists(path.Join(global.IMAGE_PATH, filename)) {
|
||||||
|
_ = ioutil.WriteFile(path.Join(global.IMAGE_PATH, filename), binary.NewWriterF(func(w *binary.Writer) {
|
||||||
|
w.Write(i.Md5)
|
||||||
|
w.WriteUInt32(uint32(i.Size))
|
||||||
|
w.WriteString(filename)
|
||||||
|
w.WriteString(i.Url)
|
||||||
|
}), 0644)
|
||||||
|
}
|
||||||
|
case *message.FriendImageElement:
|
||||||
|
filename := hex.EncodeToString(i.Md5) + ".image"
|
||||||
|
if !global.PathExists(path.Join(global.IMAGE_PATH, filename)) {
|
||||||
|
_ = ioutil.WriteFile(path.Join(global.IMAGE_PATH, filename), binary.NewWriterF(func(w *binary.Writer) {
|
||||||
|
w.Write(i.Md5)
|
||||||
|
w.WriteUInt32(uint32(0)) // 发送时会调用url, 大概没事
|
||||||
|
w.WriteString(filename)
|
||||||
|
w.WriteString(i.Url)
|
||||||
|
}), 0644)
|
||||||
|
}
|
||||||
case *message.VoiceElement:
|
case *message.VoiceElement:
|
||||||
i.Name = strings.ReplaceAll(i.Name, "{", "")
|
i.Name = strings.ReplaceAll(i.Name, "{", "")
|
||||||
i.Name = strings.ReplaceAll(i.Name, "}", "")
|
i.Name = strings.ReplaceAll(i.Name, "}", "")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user