mirror of
https://github.com/FloatTech/ZeroBot-Plugin.git
synced 2025-12-19 22:00:11 +08:00
优化代码结构
This commit is contained in:
parent
e319bd61f1
commit
053363f781
16
README.md
16
README.md
@ -478,14 +478,6 @@ print("run[CQ:image,file="+j["img"]+"]")
|
|||||||
|
|
||||||
- [x] 藏尾诗[xxx]
|
- [x] 藏尾诗[xxx]
|
||||||
|
|
||||||
</details>
|
|
||||||
<details>
|
|
||||||
<summary>英文字符翻转</summary>
|
|
||||||
|
|
||||||
`import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/char_reverser"`
|
|
||||||
|
|
||||||
- [x] 翻转 [英文字符串]
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
<details>
|
<details>
|
||||||
<summary>选择困难症帮手</summary>
|
<summary>选择困难症帮手</summary>
|
||||||
@ -502,6 +494,14 @@ print("run[CQ:image,file="+j["img"]+"]")
|
|||||||
|
|
||||||
- [x] 抽象翻译[xxx]
|
- [x] 抽象翻译[xxx]
|
||||||
|
|
||||||
|
</details>
|
||||||
|
<details>
|
||||||
|
<summary>英文字符翻转</summary>
|
||||||
|
|
||||||
|
`import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/chrev"`
|
||||||
|
|
||||||
|
- [x] 翻转 I love you
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
<details>
|
<details>
|
||||||
<summary>coser</summary>
|
<summary>coser</summary>
|
||||||
|
|||||||
2
main.go
2
main.go
@ -68,9 +68,9 @@ import (
|
|||||||
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/bilibili" // b站相关
|
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/bilibili" // b站相关
|
||||||
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/book_review" // 哀伤雪刃吧推书记录
|
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/book_review" // 哀伤雪刃吧推书记录
|
||||||
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/cangtoushi" // 藏头诗
|
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/cangtoushi" // 藏头诗
|
||||||
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/char_reverser" // 英文字符翻转
|
|
||||||
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/choose" // 选择困难症帮手
|
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/choose" // 选择困难症帮手
|
||||||
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/chouxianghua" // 说抽象话
|
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/chouxianghua" // 说抽象话
|
||||||
|
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/chrev" // 英文字符翻转
|
||||||
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/coser" // 三次元小姐姐
|
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/coser" // 三次元小姐姐
|
||||||
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/cpstory" // cp短打
|
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/cpstory" // cp短打
|
||||||
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/danbooru" // DeepDanbooru二次元图标签识别
|
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/danbooru" // DeepDanbooru二次元图标签识别
|
||||||
|
|||||||
@ -2,6 +2,7 @@
|
|||||||
package breakrepeat
|
package breakrepeat
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"math/rand"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
ctrl "github.com/FloatTech/zbpctrl"
|
ctrl "github.com/FloatTech/zbpctrl"
|
||||||
@ -19,7 +20,9 @@ func init() {
|
|||||||
DisableOnDefault: false,
|
DisableOnDefault: false,
|
||||||
Help: "打断复读\n- 打断" + strconv.Itoa(throttle) + "次以上复读\n",
|
Help: "打断复读\n- 打断" + strconv.Itoa(throttle) + "次以上复读\n",
|
||||||
})
|
})
|
||||||
engine.On(`message/group`, zero.OnlyGroup).SetBlock(false).
|
engine.On("message/group", zero.OnlyGroup, func(ctx *zero.Ctx) bool {
|
||||||
|
return !zero.HasPicture(ctx)
|
||||||
|
}).SetBlock(false).
|
||||||
Handle(func(ctx *zero.Ctx) {
|
Handle(func(ctx *zero.Ctx) {
|
||||||
gid := ctx.Event.GroupID
|
gid := ctx.Event.GroupID
|
||||||
raw := ctx.Event.RawMessage
|
raw := ctx.Event.RawMessage
|
||||||
@ -34,6 +37,13 @@ func init() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
sm.Delete(gid)
|
sm.Delete(gid)
|
||||||
|
if len(r) > 2 {
|
||||||
|
ru := []rune(r)
|
||||||
|
rand.Shuffle(len(ru), func(i, j int) {
|
||||||
|
ru[i], ru[j] = ru[j], ru[i]
|
||||||
|
})
|
||||||
|
r = string(ru)
|
||||||
|
}
|
||||||
ctx.Send(r)
|
ctx.Send(r)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,111 +0,0 @@
|
|||||||
// Package charreverser 英文字符反转
|
|
||||||
package charreverser
|
|
||||||
|
|
||||||
import (
|
|
||||||
"regexp"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
ctrl "github.com/FloatTech/zbpctrl"
|
|
||||||
"github.com/FloatTech/zbputils/control"
|
|
||||||
zero "github.com/wdvxdr1123/ZeroBot"
|
|
||||||
"github.com/wdvxdr1123/ZeroBot/message"
|
|
||||||
)
|
|
||||||
|
|
||||||
const commandRegex = `[A-z]{1}([A-z]|\s)+[A-z]{1}` // 命令正则表达式
|
|
||||||
|
|
||||||
var (
|
|
||||||
charMap = map[rune]rune{
|
|
||||||
'a': 'ɐ',
|
|
||||||
'b': 'q',
|
|
||||||
'c': 'ɔ',
|
|
||||||
'd': 'p',
|
|
||||||
'e': 'ǝ',
|
|
||||||
'f': 'ɟ',
|
|
||||||
'g': 'ƃ',
|
|
||||||
'h': 'ɥ',
|
|
||||||
'i': 'ᴉ',
|
|
||||||
'j': 'ɾ',
|
|
||||||
'k': 'ʞ',
|
|
||||||
'l': 'l',
|
|
||||||
'm': 'ɯ',
|
|
||||||
'n': 'u',
|
|
||||||
'o': 'o',
|
|
||||||
'p': 'd',
|
|
||||||
'q': 'b',
|
|
||||||
'r': 'ɹ',
|
|
||||||
's': 's',
|
|
||||||
't': 'ʇ',
|
|
||||||
'u': 'n',
|
|
||||||
'v': 'ʌ',
|
|
||||||
'w': 'ʍ',
|
|
||||||
'x': 'x',
|
|
||||||
'y': 'ʎ',
|
|
||||||
'z': 'z',
|
|
||||||
'A': '∀',
|
|
||||||
'B': 'ᗺ',
|
|
||||||
'C': 'Ɔ',
|
|
||||||
'D': 'ᗡ',
|
|
||||||
'E': 'Ǝ',
|
|
||||||
'F': 'Ⅎ',
|
|
||||||
'G': '⅁',
|
|
||||||
'H': 'H',
|
|
||||||
'I': 'I',
|
|
||||||
'J': 'ſ',
|
|
||||||
'K': 'ʞ',
|
|
||||||
'L': '˥',
|
|
||||||
'M': 'W',
|
|
||||||
'N': 'N',
|
|
||||||
'O': 'O',
|
|
||||||
'P': 'Ԁ',
|
|
||||||
'Q': 'Ò',
|
|
||||||
'R': 'ᴚ',
|
|
||||||
'S': 'S',
|
|
||||||
'T': '⏊',
|
|
||||||
'U': '∩',
|
|
||||||
'V': 'Λ',
|
|
||||||
'W': 'M',
|
|
||||||
'X': 'X',
|
|
||||||
'Y': '⅄',
|
|
||||||
'Z': 'Z',
|
|
||||||
}
|
|
||||||
|
|
||||||
compiledRegex = regexp.MustCompile(commandRegex)
|
|
||||||
)
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
// 初始化engine
|
|
||||||
engine := control.Register(
|
|
||||||
"charreverser",
|
|
||||||
&ctrl.Options[*zero.Ctx]{
|
|
||||||
DisableOnDefault: false,
|
|
||||||
Help: "字符翻转\n -翻转 <英文字符串>",
|
|
||||||
},
|
|
||||||
)
|
|
||||||
// 处理字符翻转指令
|
|
||||||
engine.OnRegex(`翻转( )+[A-z]{1}([A-z]|\s)+[A-z]{1}`).SetBlock(true).Handle(
|
|
||||||
func(ctx *zero.Ctx) {
|
|
||||||
// 获取需要翻转的字符串
|
|
||||||
results := compiledRegex.FindAllString(ctx.MessageString(), -1)
|
|
||||||
str := results[0]
|
|
||||||
|
|
||||||
// 将字符顺序翻转
|
|
||||||
var tempBuilder strings.Builder
|
|
||||||
for i := len(str) - 1; i >= 0; i-- {
|
|
||||||
tempBuilder.WriteByte(str[i])
|
|
||||||
}
|
|
||||||
|
|
||||||
// 翻转字符字形
|
|
||||||
var reversedStrBuilder strings.Builder
|
|
||||||
for _, char := range tempBuilder.String() {
|
|
||||||
if char != ' ' {
|
|
||||||
reversedStrBuilder.WriteRune(charMap[char])
|
|
||||||
} else {
|
|
||||||
reversedStrBuilder.WriteRune(' ')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 发送翻转后的字符串
|
|
||||||
ctx.SendChain(message.Text(reversedStrBuilder.String()))
|
|
||||||
},
|
|
||||||
)
|
|
||||||
}
|
|
||||||
32
plugin/chrev/init.go
Normal file
32
plugin/chrev/init.go
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
// Package chrev 英文字符反转
|
||||||
|
package chrev
|
||||||
|
|
||||||
|
import (
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
ctrl "github.com/FloatTech/zbpctrl"
|
||||||
|
"github.com/FloatTech/zbputils/control"
|
||||||
|
zero "github.com/wdvxdr1123/ZeroBot"
|
||||||
|
"github.com/wdvxdr1123/ZeroBot/message"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
// 初始化engine
|
||||||
|
engine := control.Register("chrev", &ctrl.Options[*zero.Ctx]{
|
||||||
|
DisableOnDefault: false,
|
||||||
|
Help: "字符翻转\n- 翻转 I love you",
|
||||||
|
})
|
||||||
|
// 处理字符翻转指令
|
||||||
|
engine.OnRegex(`^翻转\s*([A-Za-z\s]*)$`).SetBlock(true).
|
||||||
|
Handle(func(ctx *zero.Ctx) {
|
||||||
|
// 获取需要翻转的字符串
|
||||||
|
str := ctx.State["regex_matched"].([]string)[1]
|
||||||
|
// 将字符顺序翻转
|
||||||
|
tmp := strings.Builder{}
|
||||||
|
for i := len(str) - 1; i >= 0; i-- {
|
||||||
|
tmp.WriteRune(charMap[str[i]])
|
||||||
|
}
|
||||||
|
// 发送翻转后的字符串
|
||||||
|
ctx.SendChain(message.Text(tmp.String()))
|
||||||
|
})
|
||||||
|
}
|
||||||
59
plugin/chrev/map.go
Normal file
59
plugin/chrev/map.go
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
package chrev
|
||||||
|
|
||||||
|
var charMap [256]rune
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
charMap[' '] = ' '
|
||||||
|
charMap['a'] = 'ɐ'
|
||||||
|
charMap['b'] = 'q'
|
||||||
|
charMap['c'] = 'ɔ'
|
||||||
|
charMap['d'] = 'p'
|
||||||
|
charMap['e'] = 'ǝ'
|
||||||
|
charMap['f'] = 'ɟ'
|
||||||
|
charMap['g'] = 'ƃ'
|
||||||
|
charMap['h'] = 'ɥ'
|
||||||
|
charMap['i'] = 'ᴉ'
|
||||||
|
charMap['j'] = 'ɾ'
|
||||||
|
charMap['k'] = 'ʞ'
|
||||||
|
charMap['l'] = 'l'
|
||||||
|
charMap['m'] = 'ɯ'
|
||||||
|
charMap['n'] = 'u'
|
||||||
|
charMap['o'] = 'o'
|
||||||
|
charMap['p'] = 'd'
|
||||||
|
charMap['q'] = 'b'
|
||||||
|
charMap['r'] = 'ɹ'
|
||||||
|
charMap['s'] = 's'
|
||||||
|
charMap['t'] = 'ʇ'
|
||||||
|
charMap['u'] = 'n'
|
||||||
|
charMap['v'] = 'ʌ'
|
||||||
|
charMap['w'] = 'ʍ'
|
||||||
|
charMap['x'] = 'x'
|
||||||
|
charMap['y'] = 'ʎ'
|
||||||
|
charMap['z'] = 'z'
|
||||||
|
charMap['A'] = '∀'
|
||||||
|
charMap['B'] = 'ᗺ'
|
||||||
|
charMap['C'] = 'Ɔ'
|
||||||
|
charMap['D'] = 'ᗡ'
|
||||||
|
charMap['E'] = 'Ǝ'
|
||||||
|
charMap['F'] = 'Ⅎ'
|
||||||
|
charMap['G'] = '⅁'
|
||||||
|
charMap['H'] = 'H'
|
||||||
|
charMap['I'] = 'I'
|
||||||
|
charMap['J'] = 'ſ'
|
||||||
|
charMap['K'] = 'ʞ'
|
||||||
|
charMap['L'] = '˥'
|
||||||
|
charMap['M'] = 'W'
|
||||||
|
charMap['N'] = 'N'
|
||||||
|
charMap['O'] = 'O'
|
||||||
|
charMap['P'] = 'Ԁ'
|
||||||
|
charMap['Q'] = 'Ò'
|
||||||
|
charMap['R'] = 'ᴚ'
|
||||||
|
charMap['S'] = 'S'
|
||||||
|
charMap['T'] = '⏊'
|
||||||
|
charMap['U'] = '∩'
|
||||||
|
charMap['V'] = 'Λ'
|
||||||
|
charMap['W'] = 'M'
|
||||||
|
charMap['X'] = 'X'
|
||||||
|
charMap['Y'] = '⅄'
|
||||||
|
charMap['Z'] = 'Z'
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user