x
This commit is contained in:
@@ -80,6 +80,31 @@ func (sender *Strings) DecodeQueryString(querystring string) map[string]interfac
|
|||||||
return params
|
return params
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (sender *Strings) HideCQEmoji(text string) map[string]interface{} {
|
||||||
|
i := 0
|
||||||
|
var ms = map[string]string{}
|
||||||
|
text = regexp.MustCompile(`\[CQ:(\w+)(.*?)\]`).ReplaceAllStringFunc(text, func(s string) string {
|
||||||
|
v := fmt.Sprintf("#%d#", i)
|
||||||
|
i++
|
||||||
|
ms[v] = s
|
||||||
|
return v
|
||||||
|
})
|
||||||
|
text = emoji.ReplaceEmojisWithFunc(text, func(e emoji.Emoji) string {
|
||||||
|
v := fmt.Sprintf("#%d#", i)
|
||||||
|
i++
|
||||||
|
ms[v] = e.Character
|
||||||
|
return v
|
||||||
|
})
|
||||||
|
return map[string]interface{}{
|
||||||
|
"text": text,
|
||||||
|
"recover": func(text string) string {
|
||||||
|
return regexp.MustCompile(`#\d{1,4}#`).ReplaceAllStringFunc(text, func(s string) string {
|
||||||
|
return ms[s]
|
||||||
|
})
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 将含有 CQ码 的文本解析成文本和 CQ 对象数组
|
// 将含有 CQ码 的文本解析成文本和 CQ 对象数组
|
||||||
func (sender *Strings) ParseCQText(text string) []interface{} {
|
func (sender *Strings) ParseCQText(text string) []interface{} {
|
||||||
cqRegex := regexp.MustCompile(`\[CQ:(\w+)(.*?)\]`)
|
cqRegex := regexp.MustCompile(`\[CQ:(\w+)(.*?)\]`)
|
||||||
|
|||||||
Reference in New Issue
Block a user