1
0
mirror of https://github.com/Mrs4s/go-cqhttp.git synced 2025-05-05 03:23:49 +08:00

perf(coolq): small change.

This commit is contained in:
wdvxdr 2021-08-01 21:25:50 +08:00
parent c951caba9f
commit 58d96004a3
No known key found for this signature in database
GPG Key ID: 703F8C071DE7A1B6
2 changed files with 18 additions and 14 deletions

View File

@ -13,12 +13,10 @@ import (
"strconv" "strconv"
"strings" "strings"
"time" "time"
"unicode/utf8"
"github.com/Mrs4s/MiraiGo/binary" "github.com/Mrs4s/MiraiGo/binary"
"github.com/Mrs4s/MiraiGo/client" "github.com/Mrs4s/MiraiGo/client"
"github.com/Mrs4s/MiraiGo/message" "github.com/Mrs4s/MiraiGo/message"
"github.com/Mrs4s/MiraiGo/utils"
log "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus"
"github.com/tidwall/gjson" "github.com/tidwall/gjson"
@ -1468,15 +1466,17 @@ func convertGroupMemberInfo(groupID int64, m *client.GroupMemberInfo) MSG {
} }
func limitedString(str string) string { func limitedString(str string) string {
if utf8.RuneCountInString(str) <= 10 { limited := [14]rune{10: ' ', 11: '.', 12: '.', 13: '.'}
i := 0
for _, r := range str {
if i >= 10 {
break
}
limited[i] = r
i++
}
if i != 10 {
return str return str
} }
b := utils.S2B(str) return string(limited[:])
limited := make([]rune, 0, 10)
for i := 0; i < 10; i++ {
decodeRune, size := utf8.DecodeRune(b)
b = b[size:]
limited = append(limited, decodeRune)
}
return string(limited) + " ..."
} }

View File

@ -960,9 +960,13 @@ func CQCodeEscapeText(s string) string {
b.Grow(len(s) + count*4) b.Grow(len(s) + count*4)
start := 0 start := 0
for i := 0; i < count; i++ { for i := 0; i < count; i++ {
j := start + strings.IndexFunc(s[start:], func(r rune) bool { j := start
return r == '&' || r == '[' || r == ']' for index, r := range s[start:] {
}) if r == '&' || r == '[' || r == ']' {
j += index
break
}
}
b.WriteString(s[start:j]) b.WriteString(s[start:j])
switch s[j] { switch s[j] {
case '&': case '&':