mirror of
https://github.com/Mrs4s/go-cqhttp.git
synced 2025-05-04 19:17:37 +08:00
optimize the return value of group-message sending error
This commit is contained in:
parent
202a75ee2d
commit
933bdee18e
@ -765,9 +765,9 @@ func (bot *CQBot) CQSendGroupMessage(groupID int64, m gjson.Result, autoEscape b
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
fixAt(elem)
|
fixAt(elem)
|
||||||
mid := bot.SendGroupMessage(groupID, &message.SendingMessage{Elements: elem})
|
mid, err := bot.SendGroupMessage(groupID, &message.SendingMessage{Elements: elem})
|
||||||
if mid == -1 {
|
if err != nil {
|
||||||
return Failed(100, "SEND_MSG_API_ERROR", "请参考 go-cqhttp 端输出")
|
return Failed(100, "SEND_MSG_API_ERROR", err.Error())
|
||||||
}
|
}
|
||||||
log.Infof("发送群 %v(%v) 的消息: %v (%v)", group.Name, groupID, limitedString(m.String()), mid)
|
log.Infof("发送群 %v(%v) 的消息: %v (%v)", group.Name, groupID, limitedString(m.String()), mid)
|
||||||
return OK(global.MSG{"message_id": mid})
|
return OK(global.MSG{"message_id": mid})
|
||||||
|
14
coolq/bot.go
14
coolq/bot.go
@ -248,7 +248,7 @@ func (bot *CQBot) uploadMedia(target message.Source, elements []message.IMessage
|
|||||||
}
|
}
|
||||||
|
|
||||||
// SendGroupMessage 发送群消息
|
// SendGroupMessage 发送群消息
|
||||||
func (bot *CQBot) SendGroupMessage(groupID int64, m *message.SendingMessage) int32 {
|
func (bot *CQBot) SendGroupMessage(groupID int64, m *message.SendingMessage) (int32, error) {
|
||||||
newElem := make([]message.IMessageElement, 0, len(m.Elements))
|
newElem := make([]message.IMessageElement, 0, len(m.Elements))
|
||||||
group := bot.Client.FindGroup(groupID)
|
group := bot.Client.FindGroup(groupID)
|
||||||
source := message.Source{
|
source := message.Source{
|
||||||
@ -264,14 +264,14 @@ func (bot *CQBot) SendGroupMessage(groupID int64, m *message.SendingMessage) int
|
|||||||
mem.Poke()
|
mem.Poke()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0
|
return 0, nil
|
||||||
case *message.MusicShareElement:
|
case *message.MusicShareElement:
|
||||||
ret, err := bot.Client.SendGroupMusicShare(groupID, i)
|
ret, err := bot.Client.SendGroupMusicShare(groupID, i)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Warnf("警告: 群 %v 富文本消息发送失败: %v", groupID, err)
|
log.Warnf("警告: 群 %v 富文本消息发送失败: %v", groupID, err)
|
||||||
return -1
|
return -1, errors.Wrap(err, "send group music share error")
|
||||||
}
|
}
|
||||||
return bot.InsertGroupMessage(ret)
|
return bot.InsertGroupMessage(ret), nil
|
||||||
case *message.AtElement:
|
case *message.AtElement:
|
||||||
if i.Target == 0 && group.SelfPermission() == client.Member {
|
if i.Target == 0 && group.SelfPermission() == client.Member {
|
||||||
e = message.NewText("@全体成员")
|
e = message.NewText("@全体成员")
|
||||||
@ -281,16 +281,16 @@ func (bot *CQBot) SendGroupMessage(groupID int64, m *message.SendingMessage) int
|
|||||||
}
|
}
|
||||||
if len(newElem) == 0 {
|
if len(newElem) == 0 {
|
||||||
log.Warnf("群消息发送失败: 消息为空.")
|
log.Warnf("群消息发送失败: 消息为空.")
|
||||||
return -1
|
return -1, errors.New("empty message")
|
||||||
}
|
}
|
||||||
m.Elements = newElem
|
m.Elements = newElem
|
||||||
bot.checkMedia(newElem, groupID)
|
bot.checkMedia(newElem, groupID)
|
||||||
ret := bot.Client.SendGroupMessage(groupID, m)
|
ret := bot.Client.SendGroupMessage(groupID, m)
|
||||||
if ret == nil || ret.Id == -1 {
|
if ret == nil || ret.Id == -1 {
|
||||||
log.Warnf("群消息发送失败: 账号可能被风控.")
|
log.Warnf("群消息发送失败: 账号可能被风控.")
|
||||||
return -1
|
return -1, errors.New("send group message failed: blocked by server")
|
||||||
}
|
}
|
||||||
return bot.InsertGroupMessage(ret)
|
return bot.InsertGroupMessage(ret), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// SendPrivateMessage 发送私聊消息
|
// SendPrivateMessage 发送私聊消息
|
||||||
|
Loading…
x
Reference in New Issue
Block a user