diff --git a/client/private_msg.go b/client/private_msg.go index bfd7d922..3f4f07a6 100644 --- a/client/private_msg.go +++ b/client/private_msg.go @@ -16,7 +16,7 @@ func (c *QQClient) SendPrivateMessage(target int64, m *message.SendingMessage) * t := time.Now().Unix() imgCount := m.Count(func(e message.IMessageElement) bool { return e.Type() == message.Image }) msgLen := message.EstimateLength(m.Elements, 703) - if msgLen > 5000 || imgCount > 50 { + if msgLen > 703 || imgCount > 50 { return nil } if msgLen > 300 || imgCount > 2 { diff --git a/message/message.go b/message/message.go index fba953a7..3920c4fb 100644 --- a/message/message.go +++ b/message/message.go @@ -248,7 +248,7 @@ func (msg *SendingMessage) ToFragmented() [][]IMessageElement { func EstimateLength(elems []IMessageElement, limit int) int { sum := 0 for _, elem := range elems { - if sum >= limit { + if sum > limit { break } left := int(math.Max(float64(limit-sum), 0)) diff --git a/utils/string.go b/utils/string.go index ad9803b7..48703a74 100644 --- a/utils/string.go +++ b/utils/string.go @@ -55,7 +55,7 @@ func ChineseLength(str string, limit int) int { default: sum += 4 } - if sum >= limit { + if sum > limit { break } }