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:
parent
e136c01dfc
commit
cd01eed601
@ -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 {
|
||||||
|
@ -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))
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user