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:
parent
c951caba9f
commit
58d96004a3
22
coolq/api.go
22
coolq/api.go
@ -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) + " ..."
|
|
||||||
}
|
}
|
||||||
|
@ -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 '&':
|
||||||
|
Loading…
x
Reference in New Issue
Block a user