Skip to content

Commit 933bdee

Browse files
committed
optimize the return value of group-message sending error
1 parent 202a75e commit 933bdee

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

coolq/api.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -765,9 +765,9 @@ func (bot *CQBot) CQSendGroupMessage(groupID int64, m gjson.Result, autoEscape b
765765
}
766766
}
767767
fixAt(elem)
768-
mid := bot.SendGroupMessage(groupID, &message.SendingMessage{Elements: elem})
769-
if mid == -1 {
770-
return Failed(100, "SEND_MSG_API_ERROR", "请参考 go-cqhttp 端输出")
768+
mid, err := bot.SendGroupMessage(groupID, &message.SendingMessage{Elements: elem})
769+
if err != nil {
770+
return Failed(100, "SEND_MSG_API_ERROR", err.Error())
771771
}
772772
log.Infof("发送群 %v(%v) 的消息: %v (%v)", group.Name, groupID, limitedString(m.String()), mid)
773773
return OK(global.MSG{"message_id": mid})

coolq/bot.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ func (bot *CQBot) uploadMedia(target message.Source, elements []message.IMessage
248248
}
249249

250250
// SendGroupMessage 发送群消息
251-
func (bot *CQBot) SendGroupMessage(groupID int64, m *message.SendingMessage) int32 {
251+
func (bot *CQBot) SendGroupMessage(groupID int64, m *message.SendingMessage) (int32, error) {
252252
newElem := make([]message.IMessageElement, 0, len(m.Elements))
253253
group := bot.Client.FindGroup(groupID)
254254
source := message.Source{
@@ -264,14 +264,14 @@ func (bot *CQBot) SendGroupMessage(groupID int64, m *message.SendingMessage) int
264264
mem.Poke()
265265
}
266266
}
267-
return 0
267+
return 0, nil
268268
case *message.MusicShareElement:
269269
ret, err := bot.Client.SendGroupMusicShare(groupID, i)
270270
if err != nil {
271271
log.Warnf("警告: 群 %v 富文本消息发送失败: %v", groupID, err)
272-
return -1
272+
return -1, errors.Wrap(err, "send group music share error")
273273
}
274-
return bot.InsertGroupMessage(ret)
274+
return bot.InsertGroupMessage(ret), nil
275275
case *message.AtElement:
276276
if i.Target == 0 && group.SelfPermission() == client.Member {
277277
e = message.NewText("@全体成员")
@@ -281,16 +281,16 @@ func (bot *CQBot) SendGroupMessage(groupID int64, m *message.SendingMessage) int
281281
}
282282
if len(newElem) == 0 {
283283
log.Warnf("群消息发送失败: 消息为空.")
284-
return -1
284+
return -1, errors.New("empty message")
285285
}
286286
m.Elements = newElem
287287
bot.checkMedia(newElem, groupID)
288288
ret := bot.Client.SendGroupMessage(groupID, m)
289289
if ret == nil || ret.Id == -1 {
290290
log.Warnf("群消息发送失败: 账号可能被风控.")
291-
return -1
291+
return -1, errors.New("send group message failed: blocked by server")
292292
}
293-
return bot.InsertGroupMessage(ret)
293+
return bot.InsertGroupMessage(ret), nil
294294
}
295295

296296
// SendPrivateMessage 发送私聊消息

0 commit comments

Comments
 (0)