1
0
mirror of https://github.com/Mrs4s/MiraiGo.git synced 2025-06-19 14:05:04 +08:00

remove url fix.

This commit is contained in:
Mrs4s 2021-01-05 00:18:20 +08:00
parent 1071e54cec
commit 79f7c48b93

View File

@ -230,35 +230,12 @@ func (msg *SendingMessage) Count(filter func(e IMessageElement) bool) (c int) {
func (msg *SendingMessage) ToFragmented() [][]IMessageElement {
var fragmented [][]IMessageElement
reg := regexp.MustCompile(`https?://(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&/=]*)`)
for _, elem := range msg.Elements {
switch o := elem.(type) {
case *TextElement:
idx := reg.FindAllStringIndex(o.Content, -1)
var preChunked []string
if len(idx) == 0 {
preChunked = append(preChunked, o.Content)
} else {
last := idx[0][0]
preChunked = append(preChunked, o.Content[:idx[0][0]])
for i := 0; i < len(idx); i++ {
if len(idx[i]) != 2 {
continue
}
preChunked = append(preChunked, o.Content[last:idx[i][1]])
last = idx[i][1]
}
preChunked = append(preChunked, o.Content[last:])
}
for _, content := range preChunked {
if strings.HasPrefix(content, "http") {
fragmented = append(fragmented, []IMessageElement{NewText(content)})
continue
}
for _, text := range utils.ChunkString(content, 80) {
for _, text := range utils.ChunkString(o.Content, 80) {
fragmented = append(fragmented, []IMessageElement{NewText(text)})
}
}
default:
fragmented = append(fragmented, []IMessageElement{o})
}