1
0
mirror of https://github.com/Mrs4s/go-cqhttp.git synced 2025-05-04 19:17:37 +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"
"strings"
"time"
"unicode/utf8"
"github.com/Mrs4s/MiraiGo/binary"
"github.com/Mrs4s/MiraiGo/client"
"github.com/Mrs4s/MiraiGo/message"
"github.com/Mrs4s/MiraiGo/utils"
log "github.com/sirupsen/logrus"
"github.com/tidwall/gjson"
@ -1468,15 +1466,17 @@ func convertGroupMemberInfo(groupID int64, m *client.GroupMemberInfo) MSG {
}
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
}
b := utils.S2B(str)
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) + " ..."
return string(limited[:])
}

View File

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