mirror of
https://github.com/FloatTech/ZeroBot-Plugin.git
synced 2025-12-19 22:00:11 +08:00
🎨 优化代码结构
This commit is contained in:
parent
5b409ff3de
commit
1a85deb36e
2
go.mod
2
go.mod
@ -5,7 +5,7 @@ go 1.18
|
|||||||
require (
|
require (
|
||||||
github.com/FloatTech/AnimeAPI v1.3.2
|
github.com/FloatTech/AnimeAPI v1.3.2
|
||||||
github.com/FloatTech/sqlite v0.2.1
|
github.com/FloatTech/sqlite v0.2.1
|
||||||
github.com/FloatTech/zbputils v1.3.2
|
github.com/FloatTech/zbputils v1.3.3-0.20220402143834-825f0c6b3ef2
|
||||||
github.com/antchfx/htmlquery v1.2.4
|
github.com/antchfx/htmlquery v1.2.4
|
||||||
github.com/corona10/goimagehash v1.0.3
|
github.com/corona10/goimagehash v1.0.3
|
||||||
github.com/fogleman/gg v1.3.0
|
github.com/fogleman/gg v1.3.0
|
||||||
|
|||||||
4
go.sum
4
go.sum
@ -2,8 +2,8 @@ github.com/FloatTech/AnimeAPI v1.3.2 h1:5RmNOIi8QSwFjTgB9KxIjdbDdXUCe1+MLe+7R633
|
|||||||
github.com/FloatTech/AnimeAPI v1.3.2/go.mod h1:IKFBpKHgFAzo6cU4wOaRdb1ywa5mQ4NFc0mJk/wzgyY=
|
github.com/FloatTech/AnimeAPI v1.3.2/go.mod h1:IKFBpKHgFAzo6cU4wOaRdb1ywa5mQ4NFc0mJk/wzgyY=
|
||||||
github.com/FloatTech/sqlite v0.2.1 h1:9t6Me48XJJCIoPy4nLRvcdhcVKfT0c2lilp7SEKROG8=
|
github.com/FloatTech/sqlite v0.2.1 h1:9t6Me48XJJCIoPy4nLRvcdhcVKfT0c2lilp7SEKROG8=
|
||||||
github.com/FloatTech/sqlite v0.2.1/go.mod h1:6NfHRzqOo9RWeMJEoAQVuo51Omd5LFNxCNQhMF02/9U=
|
github.com/FloatTech/sqlite v0.2.1/go.mod h1:6NfHRzqOo9RWeMJEoAQVuo51Omd5LFNxCNQhMF02/9U=
|
||||||
github.com/FloatTech/zbputils v1.3.2 h1:TxQ6SjT/f+iHLoz+IlQ3Hk2dUb2P9SIs4DvjGWLjZYs=
|
github.com/FloatTech/zbputils v1.3.3-0.20220402143834-825f0c6b3ef2 h1:lMoKD5dg7FGCzxDCmBXCkHcukqGph+PHLoQ0wuQO7hc=
|
||||||
github.com/FloatTech/zbputils v1.3.2/go.mod h1:V2Y8jkxjwACWuJsDCyNVKc+qABfMAUh/mgBYdWBxOPo=
|
github.com/FloatTech/zbputils v1.3.3-0.20220402143834-825f0c6b3ef2/go.mod h1:V2Y8jkxjwACWuJsDCyNVKc+qABfMAUh/mgBYdWBxOPo=
|
||||||
github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc=
|
github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc=
|
||||||
github.com/RomiChan/websocket v1.4.3-0.20220123145318-307a86b127bc h1:AAx50/fb/xS4lvsdQg+bFbGvqSDhyV1MF+p2PLCamZ0=
|
github.com/RomiChan/websocket v1.4.3-0.20220123145318-307a86b127bc h1:AAx50/fb/xS4lvsdQg+bFbGvqSDhyV1MF+p2PLCamZ0=
|
||||||
github.com/RomiChan/websocket v1.4.3-0.20220123145318-307a86b127bc/go.mod h1:OMmITAib6POA37xCichWM0aRnoVpSMZO1rB/G01wrr0=
|
github.com/RomiChan/websocket v1.4.3-0.20220123145318-307a86b127bc/go.mod h1:OMmITAib6POA37xCichWM0aRnoVpSMZO1rB/G01wrr0=
|
||||||
|
|||||||
@ -34,26 +34,16 @@ func init() { // 插件主体
|
|||||||
"- 中午好 | 午安 | 午好\n- 晚安 | oyasuminasai | おやすみなさい | 晚好 | 晚上好\n- 高性能 | 太棒了 | すごい | sugoi | 斯国一 | よかった\n" +
|
"- 中午好 | 午安 | 午好\n- 晚安 | oyasuminasai | おやすみなさい | 晚好 | 晚上好\n- 高性能 | 太棒了 | すごい | sugoi | 斯国一 | よかった\n" +
|
||||||
"- 没事 | 没关系 | 大丈夫 | 还好 | 不要紧 | 没出大问题 | 没伤到哪\n- 好吗 | 是吗 | 行不行 | 能不能 | 可不可以\n- 啊这\n- 我好了\n- ? | ? | ¿\n" +
|
"- 没事 | 没关系 | 大丈夫 | 还好 | 不要紧 | 没出大问题 | 没伤到哪\n- 好吗 | 是吗 | 行不行 | 能不能 | 可不可以\n- 啊这\n- 我好了\n- ? | ? | ¿\n" +
|
||||||
"- 离谱\n- 答应我",
|
"- 离谱\n- 答应我",
|
||||||
})
|
OnEnable: func(ctx *zero.Ctx) {
|
||||||
zero.OnFullMatch("ATRI醒醒", zero.AdminPermission).SetBlock(true).
|
|
||||||
Handle(func(ctx *zero.Ctx) {
|
|
||||||
c, ok := control.Lookup(servicename)
|
|
||||||
if ok && !c.IsEnabledIn(ctx.Event.GroupID) {
|
|
||||||
c.Enable(ctx.Event.GroupID)
|
|
||||||
process.SleepAbout1sTo2s()
|
process.SleepAbout1sTo2s()
|
||||||
ctx.SendChain(message.Text("嗯呜呜……夏生先生……?"))
|
ctx.SendChain(message.Text("嗯呜呜……夏生先生……?"))
|
||||||
}
|
},
|
||||||
})
|
OnDisable: func(ctx *zero.Ctx) {
|
||||||
engine.OnFullMatch("ATRI睡吧", zero.AdminPermission).SetBlock(true).
|
|
||||||
Handle(func(ctx *zero.Ctx) {
|
|
||||||
c, ok := control.Lookup(servicename)
|
|
||||||
if ok && c.IsEnabledIn(ctx.Event.GroupID) {
|
|
||||||
c.Disable(ctx.Event.GroupID)
|
|
||||||
process.SleepAbout1sTo2s()
|
process.SleepAbout1sTo2s()
|
||||||
ctx.SendChain(message.Text("Zzz……Zzz……"))
|
ctx.SendChain(message.Text("Zzz……Zzz……"))
|
||||||
}
|
},
|
||||||
})
|
})
|
||||||
engine.OnFullMatch("萝卜子", atriSleep).SetBlock(true).
|
engine.OnFullMatch("萝卜子", isAtriSleeping).SetBlock(true).
|
||||||
Handle(func(ctx *zero.Ctx) {
|
Handle(func(ctx *zero.Ctx) {
|
||||||
process.SleepAbout1sTo2s()
|
process.SleepAbout1sTo2s()
|
||||||
switch rand.Intn(2) {
|
switch rand.Intn(2) {
|
||||||
@ -63,12 +53,12 @@ func init() { // 插件主体
|
|||||||
ctx.SendChain(randRecord("RocketPunch.amr"))
|
ctx.SendChain(randRecord("RocketPunch.amr"))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
engine.OnFullMatchGroup([]string{"喜欢", "爱你", "爱", "suki", "daisuki", "すき", "好き", "贴贴", "老婆", "亲一个", "mua"}, atriSleep, zero.OnlyToMe).SetBlock(true).
|
engine.OnFullMatchGroup([]string{"喜欢", "爱你", "爱", "suki", "daisuki", "すき", "好き", "贴贴", "老婆", "亲一个", "mua"}, isAtriSleeping, zero.OnlyToMe).SetBlock(true).
|
||||||
Handle(func(ctx *zero.Ctx) {
|
Handle(func(ctx *zero.Ctx) {
|
||||||
process.SleepAbout1sTo2s()
|
process.SleepAbout1sTo2s()
|
||||||
ctx.SendChain(randImage("SUKI.jpg", "SUKI1.jpg", "SUKI2.png"))
|
ctx.SendChain(randImage("SUKI.jpg", "SUKI1.jpg", "SUKI2.png"))
|
||||||
})
|
})
|
||||||
engine.OnKeywordGroup([]string{"草你妈", "操你妈", "脑瘫", "废柴", "fw", "five", "废物", "战斗", "爬", "爪巴", "sb", "SB", "傻B"}, atriSleep, zero.OnlyToMe).SetBlock(true).
|
engine.OnKeywordGroup([]string{"草你妈", "操你妈", "脑瘫", "废柴", "fw", "five", "废物", "战斗", "爬", "爪巴", "sb", "SB", "傻B"}, isAtriSleeping, zero.OnlyToMe).SetBlock(true).
|
||||||
Handle(func(ctx *zero.Ctx) {
|
Handle(func(ctx *zero.Ctx) {
|
||||||
process.SleepAbout1sTo2s()
|
process.SleepAbout1sTo2s()
|
||||||
ctx.SendChain(randImage("FN.jpg", "WQ.jpg", "WQ1.jpg"))
|
ctx.SendChain(randImage("FN.jpg", "WQ.jpg", "WQ1.jpg"))
|
||||||
@ -169,7 +159,7 @@ func init() { // 插件主体
|
|||||||
))
|
))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
engine.OnKeywordGroup([]string{"高性能", "太棒了", "すごい", "sugoi", "斯国一", "よかった"}, atriSleep, zero.OnlyToMe).SetBlock(true).
|
engine.OnKeywordGroup([]string{"高性能", "太棒了", "すごい", "sugoi", "斯国一", "よかった"}, isAtriSleeping, zero.OnlyToMe).SetBlock(true).
|
||||||
Handle(func(ctx *zero.Ctx) {
|
Handle(func(ctx *zero.Ctx) {
|
||||||
process.SleepAbout1sTo2s()
|
process.SleepAbout1sTo2s()
|
||||||
ctx.SendChain(randText(
|
ctx.SendChain(randText(
|
||||||
@ -190,7 +180,7 @@ func init() { // 插件主体
|
|||||||
"呣......我的高性能,毫无遗憾地施展出来了......",
|
"呣......我的高性能,毫无遗憾地施展出来了......",
|
||||||
))
|
))
|
||||||
})
|
})
|
||||||
engine.OnKeywordGroup([]string{"没事", "没关系", "大丈夫", "还好", "不要紧", "没出大问题", "没伤到哪"}, atriSleep, zero.OnlyToMe).SetBlock(true).
|
engine.OnKeywordGroup([]string{"没事", "没关系", "大丈夫", "还好", "不要紧", "没出大问题", "没伤到哪"}, isAtriSleeping, zero.OnlyToMe).SetBlock(true).
|
||||||
Handle(func(ctx *zero.Ctx) {
|
Handle(func(ctx *zero.Ctx) {
|
||||||
process.SleepAbout1sTo2s()
|
process.SleepAbout1sTo2s()
|
||||||
ctx.SendChain(randText(
|
ctx.SendChain(randText(
|
||||||
@ -205,26 +195,26 @@ func init() { // 插件主体
|
|||||||
))
|
))
|
||||||
})
|
})
|
||||||
|
|
||||||
engine.OnKeywordGroup([]string{"好吗", "是吗", "行不行", "能不能", "可不可以"}, atriSleep).SetBlock(true).
|
engine.OnKeywordGroup([]string{"好吗", "是吗", "行不行", "能不能", "可不可以"}, isAtriSleeping).SetBlock(true).
|
||||||
Handle(func(ctx *zero.Ctx) {
|
Handle(func(ctx *zero.Ctx) {
|
||||||
process.SleepAbout1sTo2s()
|
process.SleepAbout1sTo2s()
|
||||||
if rand.Intn(2) == 0 {
|
if rand.Intn(2) == 0 {
|
||||||
ctx.SendChain(randImage("YES.png", "NO.jpg"))
|
ctx.SendChain(randImage("YES.png", "NO.jpg"))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
engine.OnKeywordGroup([]string{"啊这"}, atriSleep).SetBlock(true).
|
engine.OnKeywordGroup([]string{"啊这"}, isAtriSleeping).SetBlock(true).
|
||||||
Handle(func(ctx *zero.Ctx) {
|
Handle(func(ctx *zero.Ctx) {
|
||||||
process.SleepAbout1sTo2s()
|
process.SleepAbout1sTo2s()
|
||||||
if rand.Intn(2) == 0 {
|
if rand.Intn(2) == 0 {
|
||||||
ctx.SendChain(randImage("AZ.jpg", "AZ1.jpg"))
|
ctx.SendChain(randImage("AZ.jpg", "AZ1.jpg"))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
engine.OnKeywordGroup([]string{"我好了"}, atriSleep).SetBlock(true).
|
engine.OnKeywordGroup([]string{"我好了"}, isAtriSleeping).SetBlock(true).
|
||||||
Handle(func(ctx *zero.Ctx) {
|
Handle(func(ctx *zero.Ctx) {
|
||||||
process.SleepAbout1sTo2s()
|
process.SleepAbout1sTo2s()
|
||||||
ctx.SendChain(message.Reply(ctx.Event.MessageID), randText("不许好!", "憋回去!"))
|
ctx.SendChain(message.Reply(ctx.Event.MessageID), randText("不许好!", "憋回去!"))
|
||||||
})
|
})
|
||||||
engine.OnFullMatchGroup([]string{"?", "?", "¿"}, atriSleep).SetBlock(true).
|
engine.OnFullMatchGroup([]string{"?", "?", "¿"}, isAtriSleeping).SetBlock(true).
|
||||||
Handle(func(ctx *zero.Ctx) {
|
Handle(func(ctx *zero.Ctx) {
|
||||||
process.SleepAbout1sTo2s()
|
process.SleepAbout1sTo2s()
|
||||||
switch rand.Intn(5) {
|
switch rand.Intn(5) {
|
||||||
@ -234,7 +224,7 @@ func init() { // 插件主体
|
|||||||
ctx.SendChain(randImage("WH.jpg", "WH1.jpg", "WH2.jpg", "WH3.jpg"))
|
ctx.SendChain(randImage("WH.jpg", "WH1.jpg", "WH2.jpg", "WH3.jpg"))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
engine.OnKeyword("离谱", atriSleep).SetBlock(true).
|
engine.OnKeyword("离谱", isAtriSleeping).SetBlock(true).
|
||||||
Handle(func(ctx *zero.Ctx) {
|
Handle(func(ctx *zero.Ctx) {
|
||||||
switch rand.Intn(5) {
|
switch rand.Intn(5) {
|
||||||
case 0:
|
case 0:
|
||||||
@ -243,7 +233,7 @@ func init() { // 插件主体
|
|||||||
ctx.SendChain(randImage("WH.jpg"))
|
ctx.SendChain(randImage("WH.jpg"))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
engine.OnKeyword("答应我", atriSleep, zero.OnlyToMe).SetBlock(true).
|
engine.OnKeyword("答应我", isAtriSleeping, zero.OnlyToMe).SetBlock(true).
|
||||||
Handle(func(ctx *zero.Ctx) {
|
Handle(func(ctx *zero.Ctx) {
|
||||||
process.SleepAbout1sTo2s()
|
process.SleepAbout1sTo2s()
|
||||||
ctx.SendChain(randText("我无法回应你的请求"))
|
ctx.SendChain(randText("我无法回应你的请求"))
|
||||||
@ -262,8 +252,8 @@ func randRecord(file ...string) message.MessageSegment {
|
|||||||
return message.Record(res + file[rand.Intn(len(file))])
|
return message.Record(res + file[rand.Intn(len(file))])
|
||||||
}
|
}
|
||||||
|
|
||||||
// atriSleep 凌晨0点到6点,ATRI 在睡觉,不回应任何请求
|
// isAtriSleeping 凌晨0点到6点,ATRI 在睡觉,不回应任何请求
|
||||||
func atriSleep(ctx *zero.Ctx) bool {
|
func isAtriSleeping(ctx *zero.Ctx) bool {
|
||||||
if now := time.Now().Hour(); now >= 1 && now < 6 {
|
if now := time.Now().Hour(); now >= 1 && now < 6 {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user