diff --git a/go.mod b/go.mod index 9680947a..3753354c 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.18 require ( github.com/FloatTech/AnimeAPI v1.3.2 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/corona10/goimagehash v1.0.3 github.com/fogleman/gg v1.3.0 diff --git a/go.sum b/go.sum index cdfefe4e..53b21ea9 100644 --- a/go.sum +++ b/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/sqlite v0.2.1 h1:9t6Me48XJJCIoPy4nLRvcdhcVKfT0c2lilp7SEKROG8= 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.2/go.mod h1:V2Y8jkxjwACWuJsDCyNVKc+qABfMAUh/mgBYdWBxOPo= +github.com/FloatTech/zbputils v1.3.3-0.20220402143834-825f0c6b3ef2 h1:lMoKD5dg7FGCzxDCmBXCkHcukqGph+PHLoQ0wuQO7hc= +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/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= diff --git a/plugin/atri/atri.go b/plugin/atri/atri.go index 998e13e4..ac503d29 100644 --- a/plugin/atri/atri.go +++ b/plugin/atri/atri.go @@ -34,26 +34,16 @@ func init() { // 插件主体 "- 中午好 | 午安 | 午好\n- 晚安 | oyasuminasai | おやすみなさい | 晚好 | 晚上好\n- 高性能 | 太棒了 | すごい | sugoi | 斯国一 | よかった\n" + "- 没事 | 没关系 | 大丈夫 | 还好 | 不要紧 | 没出大问题 | 没伤到哪\n- 好吗 | 是吗 | 行不行 | 能不能 | 可不可以\n- 啊这\n- 我好了\n- ? | ? | ¿\n" + "- 离谱\n- 答应我", + OnEnable: func(ctx *zero.Ctx) { + process.SleepAbout1sTo2s() + ctx.SendChain(message.Text("嗯呜呜……夏生先生……?")) + }, + OnDisable: func(ctx *zero.Ctx) { + process.SleepAbout1sTo2s() + ctx.SendChain(message.Text("Zzz……Zzz……")) + }, }) - 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() - ctx.SendChain(message.Text("嗯呜呜……夏生先生……?")) - } - }) - 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() - ctx.SendChain(message.Text("Zzz……Zzz……")) - } - }) - engine.OnFullMatch("萝卜子", atriSleep).SetBlock(true). + engine.OnFullMatch("萝卜子", isAtriSleeping).SetBlock(true). Handle(func(ctx *zero.Ctx) { process.SleepAbout1sTo2s() switch rand.Intn(2) { @@ -63,12 +53,12 @@ func init() { // 插件主体 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) { process.SleepAbout1sTo2s() 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) { process.SleepAbout1sTo2s() 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) { process.SleepAbout1sTo2s() 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) { process.SleepAbout1sTo2s() 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) { process.SleepAbout1sTo2s() if rand.Intn(2) == 0 { ctx.SendChain(randImage("YES.png", "NO.jpg")) } }) - engine.OnKeywordGroup([]string{"啊这"}, atriSleep).SetBlock(true). + engine.OnKeywordGroup([]string{"啊这"}, isAtriSleeping).SetBlock(true). Handle(func(ctx *zero.Ctx) { process.SleepAbout1sTo2s() if rand.Intn(2) == 0 { ctx.SendChain(randImage("AZ.jpg", "AZ1.jpg")) } }) - engine.OnKeywordGroup([]string{"我好了"}, atriSleep).SetBlock(true). + engine.OnKeywordGroup([]string{"我好了"}, isAtriSleeping).SetBlock(true). Handle(func(ctx *zero.Ctx) { process.SleepAbout1sTo2s() 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) { process.SleepAbout1sTo2s() switch rand.Intn(5) { @@ -234,7 +224,7 @@ func init() { // 插件主体 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) { switch rand.Intn(5) { case 0: @@ -243,7 +233,7 @@ func init() { // 插件主体 ctx.SendChain(randImage("WH.jpg")) } }) - engine.OnKeyword("答应我", atriSleep, zero.OnlyToMe).SetBlock(true). + engine.OnKeyword("答应我", isAtriSleeping, zero.OnlyToMe).SetBlock(true). Handle(func(ctx *zero.Ctx) { process.SleepAbout1sTo2s() ctx.SendChain(randText("我无法回应你的请求")) @@ -262,8 +252,8 @@ func randRecord(file ...string) message.MessageSegment { return message.Record(res + file[rand.Intn(len(file))]) } -// atriSleep 凌晨0点到6点,ATRI 在睡觉,不回应任何请求 -func atriSleep(ctx *zero.Ctx) bool { +// isAtriSleeping 凌晨0点到6点,ATRI 在睡觉,不回应任何请求 +func isAtriSleeping(ctx *zero.Ctx) bool { if now := time.Now().Hour(); now >= 1 && now < 6 { return false }