1
0
mirror of https://github.com/Mrs4s/MiraiGo.git synced 2025-05-04 11:07:40 +08:00

Patch message length logic always false problem

This commit is contained in:
Sam 2021-03-20 18:11:08 +08:00
parent e136c01dfc
commit cd01eed601
No known key found for this signature in database
GPG Key ID: 2057906F881702DD
3 changed files with 3 additions and 3 deletions

View File

@ -16,7 +16,7 @@ func (c *QQClient) SendPrivateMessage(target int64, m *message.SendingMessage) *
t := time.Now().Unix() t := time.Now().Unix()
imgCount := m.Count(func(e message.IMessageElement) bool { return e.Type() == message.Image }) imgCount := m.Count(func(e message.IMessageElement) bool { return e.Type() == message.Image })
msgLen := message.EstimateLength(m.Elements, 703) msgLen := message.EstimateLength(m.Elements, 703)
if msgLen > 5000 || imgCount > 50 { if msgLen > 703 || imgCount > 50 {
return nil return nil
} }
if msgLen > 300 || imgCount > 2 { if msgLen > 300 || imgCount > 2 {

View File

@ -248,7 +248,7 @@ func (msg *SendingMessage) ToFragmented() [][]IMessageElement {
func EstimateLength(elems []IMessageElement, limit int) int { func EstimateLength(elems []IMessageElement, limit int) int {
sum := 0 sum := 0
for _, elem := range elems { for _, elem := range elems {
if sum >= limit { if sum > limit {
break break
} }
left := int(math.Max(float64(limit-sum), 0)) left := int(math.Max(float64(limit-sum), 0))

View File

@ -55,7 +55,7 @@ func ChineseLength(str string, limit int) int {
default: default:
sum += 4 sum += 4
} }
if sum >= limit { if sum > limit {
break break
} }
} }