diff --git a/go.mod b/go.mod index 22ab3a29..3c542652 100644 --- a/go.mod +++ b/go.mod @@ -3,9 +3,9 @@ module github.com/FloatTech/ZeroBot-Plugin go 1.17 require ( - github.com/FloatTech/AnimeAPI v1.3.1-0.20220306143604-2bcf039fe27a + github.com/FloatTech/AnimeAPI v1.3.1-0.20220307053346-aa76aec4b635 github.com/FloatTech/sqlite v0.2.1 - github.com/FloatTech/zbputils v1.3.1-0.20220306143438-9fe5651df713 + github.com/FloatTech/zbputils v1.3.1-0.20220307053255-29a0c0203693 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 806f92ad..1158e162 100644 --- a/go.sum +++ b/go.sum @@ -1,10 +1,10 @@ -github.com/FloatTech/AnimeAPI v1.3.1-0.20220306143604-2bcf039fe27a h1:H0zAK0VwYBCM4V7QFhPH2p05hfaFG/hkPFxc1R6mmK8= -github.com/FloatTech/AnimeAPI v1.3.1-0.20220306143604-2bcf039fe27a/go.mod h1:qXQBNGfuCCuqMZnUsFv0KjgEYDozQwmwRZX9OKmzjBs= +github.com/FloatTech/AnimeAPI v1.3.1-0.20220307053346-aa76aec4b635 h1:T7J1wLvSqn8PvkM7X98dgbafW+zG1l0LdX664HbrG0U= +github.com/FloatTech/AnimeAPI v1.3.1-0.20220307053346-aa76aec4b635/go.mod h1:ZNhcnGEchvEjd09WbpLMlmxlmYy4trtLYEAJHRAoKaw= github.com/FloatTech/bot-manager v1.0.0/go.mod h1:8YYRJ16oroGHQGD2En0oVnmcKJkxR9O/jd5BPSfWfOQ= 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.1-0.20220306143438-9fe5651df713 h1:heSSdAa/gYHVHyYo5/KtFNJ9X9dD2vFLsS+dALrQCGQ= -github.com/FloatTech/zbputils v1.3.1-0.20220306143438-9fe5651df713/go.mod h1:1nzt5KFkggpZaqkW0faY3y0X/qeMKTodqWc8wbVYhoY= +github.com/FloatTech/zbputils v1.3.1-0.20220307053255-29a0c0203693 h1:6OEcbIfzQ+9608zRBiR0x6VCrORncBNXfdvD1EWhqGk= +github.com/FloatTech/zbputils v1.3.1-0.20220307053255-29a0c0203693/go.mod h1:1nzt5KFkggpZaqkW0faY3y0X/qeMKTodqWc8wbVYhoY= 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/kanban/banner.go b/kanban/banner.go new file mode 100644 index 00000000..45f9ea37 --- /dev/null +++ b/kanban/banner.go @@ -0,0 +1,42 @@ +package kanban + +import ( + "fmt" + "strings" + + "github.com/fumiama/go-registry" +) + +var ( + info = [...]string{ + "* OneBot + ZeroBot + Golang", + "* Version 1.3.0 - 2022-02-09 14:31:34 +0800 CST", + "* Copyright © 2020 - 2021 FloatTech. All Rights Reserved.", + "* Project: https://github.com/FloatTech/ZeroBot-Plugin", + } + Banner = strings.Join(info[:], "\n") + reg = registry.NewRegReader("reilia.westeurope.cloudapp.azure.com:32664", "fumiama") +) + +func PrintBanner() { + fmt.Print( + "\n======================[ZeroBot-Plugin]======================", + "\n", Banner, "\n", + "----------------------[ZeroBot-公告栏]----------------------", + "\n", Kanban(), "\n", + "============================================================\n\n", + ) +} + +func Kanban() string { + err := reg.Connect() + if err != nil { + return err.Error() + } + defer reg.Close() + text, err := reg.Get("ZeroBot-Plugin/kanban") + if err != nil { + return err.Error() + } + return text +} diff --git a/kanban/init.go b/kanban/init.go new file mode 100644 index 00000000..ca0eddb4 --- /dev/null +++ b/kanban/init.go @@ -0,0 +1,5 @@ +package kanban + +func init() { + PrintBanner() +} diff --git a/main.go b/main.go index f48d6e76..6ce288eb 100644 --- a/main.go +++ b/main.go @@ -5,9 +5,10 @@ import ( "fmt" "math/rand" "os" - "strings" "time" + "github.com/FloatTech/ZeroBot-Plugin/kanban" // 在最前打印 banner + // ---------以下插件均可通过前面加 // 注释,注释后停用并不加载插件--------- // // ----------------------插件优先级按顺序从高到低---------------------- // // // @@ -140,9 +141,7 @@ import ( // // // // // -----------------------以下为内置依赖,勿动------------------------ // - "github.com/FloatTech/zbputils/control/order" "github.com/FloatTech/zbputils/process" - "github.com/fumiama/go-registry" "github.com/sirupsen/logrus" zero "github.com/wdvxdr1123/ZeroBot" "github.com/wdvxdr1123/ZeroBot/driver" @@ -151,19 +150,11 @@ import ( ) var ( - contents = []string{ - "* OneBot + ZeroBot + Golang", - "* Version 1.3.0 - 2022-02-09 14:31:34 +0800 CST", - "* Copyright © 2020 - 2021 FloatTech. All Rights Reserved.", - "* Project: https://github.com/FloatTech/ZeroBot-Plugin", - } nicks = []string{"ATRI", "atri", "亚托莉", "アトリ"} - banner = strings.Join(contents, "\n") token *string url *string adana *string prefix *string - reg = registry.NewRegReader("reilia.westeurope.cloudapp.azure.com:32664", "fumiama") ) func init() { @@ -184,7 +175,7 @@ func init() { flag.Parse() if *h { - printBanner() + kanban.PrintBanner() fmt.Println("Usage:") flag.PrintDefaults() os.Exit(0) @@ -201,41 +192,16 @@ func init() { // webctrl.InitGui(*g) } -func printBanner() { - fmt.Print( - "\n======================[ZeroBot-Plugin]======================", - "\n", banner, "\n", - "----------------------[ZeroBot-公告栏]----------------------", - "\n", getKanban(), "\n", - "============================================================\n", - ) -} - -func getKanban() string { - err := reg.Connect() - if err != nil { - return err.Error() - } - defer reg.Close() - text, err := reg.Get("ZeroBot-Plugin/kanban") - if err != nil { - return err.Error() - } - return text -} - func main() { - order.Wait() - printBanner() rand.Seed(time.Now().UnixNano()) // 全局 seed,其他插件无需再 seed // 帮助 zero.OnFullMatchGroup([]string{"/help", ".help", "菜单"}, zero.OnlyToMe).SetBlock(true). Handle(func(ctx *zero.Ctx) { - ctx.SendChain(message.Text(banner, "\n可发送\"/服务列表\"查看 bot 功能")) + ctx.SendChain(message.Text(kanban.Banner, "\n可发送\"/服务列表\"查看 bot 功能")) }) zero.OnFullMatch("查看zbp公告", zero.OnlyToMe, zero.AdminPermission).SetBlock(true). Handle(func(ctx *zero.Ctx) { - ctx.SendChain(message.Text(getKanban())) + ctx.SendChain(message.Text(kanban.Kanban())) }) zero.Run( zero.Config{ diff --git a/plugin/bilibili_push/bilibili_push.go b/plugin/bilibili_push/bilibili_push.go index 8651b98b..d66401c8 100644 --- a/plugin/bilibili_push/bilibili_push.go +++ b/plugin/bilibili_push/bilibili_push.go @@ -75,7 +75,6 @@ func init() { go func() { dbpath := en.DataFolder() dbfile := dbpath + "push.db" - defer order.DoneOnExit()() bdb = initialize(dbfile) log.Println("[bilibilipush]加载bilibilipush数据库") }() diff --git a/plugin/book_review/book_review.go b/plugin/book_review/book_review.go index 7856fc89..48a2053d 100644 --- a/plugin/book_review/book_review.go +++ b/plugin/book_review/book_review.go @@ -23,7 +23,6 @@ func init() { go func() { dbpath := engine.DataFolder() db.DBPath = dbpath + "bookreview.db" - defer order.DoneOnExit()() // os.RemoveAll(dbpath) _, _ = file.GetLazyData(db.DBPath, false, true) err := db.Create("bookreview", &book{}) diff --git a/plugin/chouxianghua/chouxianghua.go b/plugin/chouxianghua/chouxianghua.go index a7664e28..c87c41b7 100644 --- a/plugin/chouxianghua/chouxianghua.go +++ b/plugin/chouxianghua/chouxianghua.go @@ -21,7 +21,6 @@ func init() { go func() { dbpath := en.DataFolder() db.DBPath = dbpath + "cxh.db" - defer order.DoneOnExit()() // os.RemoveAll(dbpath) _, _ = file.GetLazyData(db.DBPath, false, true) err := db.Create("pinyin", &pinyin{}) diff --git a/plugin/cpstory/cpstory.go b/plugin/cpstory/cpstory.go index 472e6a5a..ac781431 100644 --- a/plugin/cpstory/cpstory.go +++ b/plugin/cpstory/cpstory.go @@ -26,7 +26,6 @@ func init() { go func() { dbpath := engine.DataFolder() db.DBPath = dbpath + "cp.db" - defer order.DoneOnExit()() // os.RemoveAll(dbpath) _, _ = file.GetLazyData(db.DBPath, false, true) err := db.Create("cp_story", &cpstory{}) diff --git a/plugin/curse/curse.go b/plugin/curse/curse.go index d89124a0..60e503d0 100644 --- a/plugin/curse/curse.go +++ b/plugin/curse/curse.go @@ -29,7 +29,6 @@ func init() { go func() { dbpath := engine.DataFolder() db.DBPath = dbpath + "curse.db" - defer order.DoneOnExit()() _, err := file.GetLazyData(db.DBPath, false, true) if err != nil { panic(err) diff --git a/plugin/diana/bing.go b/plugin/diana/bing.go index c1dbd977..f67e6808 100644 --- a/plugin/diana/bing.go +++ b/plugin/diana/bing.go @@ -26,7 +26,6 @@ func init() { go func() { datapath := engine.DataFolder() dbfile := datapath + "text.db" - defer order.DoneOnExit()() data.LoadText(dbfile) }() diff --git a/plugin/diana/data/text.go b/plugin/diana/data/text.go index 1ba4accd..7d6ab005 100644 --- a/plugin/diana/data/text.go +++ b/plugin/diana/data/text.go @@ -7,7 +7,6 @@ import ( sql "github.com/FloatTech/sqlite" binutils "github.com/FloatTech/zbputils/binary" - "github.com/FloatTech/zbputils/control/order" "github.com/FloatTech/zbputils/file" "github.com/sirupsen/logrus" ) @@ -21,7 +20,6 @@ type text struct { // LoadText 加载小作文 func LoadText(dbfile string) { - defer order.DoneOnExit()() _, err := file.GetLazyData(dbfile, false, false) db.DBPath = dbfile if err != nil { diff --git a/plugin/fortune/fortune.go b/plugin/fortune/fortune.go index b4f908d2..9ada3932 100644 --- a/plugin/fortune/fortune.go +++ b/plugin/fortune/fortune.go @@ -59,7 +59,6 @@ func init() { PublicDataFolder: "Fortune", }) go func() { - defer order.DoneOnExit()() for i, s := range table { index[s] = uint8(i) } diff --git a/plugin/funny/laugh.go b/plugin/funny/laugh.go index 596e5044..423f4c28 100644 --- a/plugin/funny/laugh.go +++ b/plugin/funny/laugh.go @@ -34,7 +34,6 @@ func init() { go func() { dbpath := en.DataFolder() db.DBPath = dbpath + "jokes.db" - defer order.DoneOnExit()() _, err := file.GetLazyData(db.DBPath, false, true) if err != nil { panic(err) diff --git a/plugin/jandan/jandan.go b/plugin/jandan/jandan.go index b2008f06..d3493d81 100644 --- a/plugin/jandan/jandan.go +++ b/plugin/jandan/jandan.go @@ -32,7 +32,6 @@ func init() { go func() { dbpath := engine.DataFolder() db.DBPath = dbpath + "pics.db" - defer order.DoneOnExit()() _, _ = file.GetLazyData(db.DBPath, false, false) err := db.Create("picture", &picture{}) if err != nil { diff --git a/plugin/manager/manager.go b/plugin/manager/manager.go index c3e7d7b5..21d38fb7 100644 --- a/plugin/manager/manager.go +++ b/plugin/manager/manager.go @@ -66,7 +66,6 @@ func init() { // 插件主体 }) go func() { - defer order.DoneOnExit()() db.DBPath = engine.DataFolder() + "config.db" clock = timer.NewClock(db) err := db.Create("welcome", &welcome{}) diff --git a/plugin/omikuji/sensou.go b/plugin/omikuji/sensou.go index 79db9a2f..6168aea7 100644 --- a/plugin/omikuji/sensou.go +++ b/plugin/omikuji/sensou.go @@ -33,7 +33,6 @@ func init() { // 插件主体 go func() { dbpath := engine.DataFolder() db.DBPath = dbpath + "kuji.db" - defer order.DoneOnExit()() _, _ = file.GetLazyData(db.DBPath, false, true) err := db.Create("kuji", &kuji{}) if err != nil { diff --git a/plugin/reborn/load.go b/plugin/reborn/load.go index fc63c7d6..e9430864 100644 --- a/plugin/reborn/load.go +++ b/plugin/reborn/load.go @@ -3,13 +3,11 @@ package reborn import ( "encoding/json" - "github.com/FloatTech/zbputils/control/order" "github.com/FloatTech/zbputils/file" ) // load 加载rate数据 func load(area *rate, jsonfile string) error { - defer order.DoneOnExit()() data, err := file.GetLazyData(jsonfile, true, true) if err != nil { return err diff --git a/plugin/reborn/main.go b/plugin/reborn/main.go index 062e338f..1d7b80ef 100644 --- a/plugin/reborn/main.go +++ b/plugin/reborn/main.go @@ -23,7 +23,6 @@ func init() { go func() { datapath := en.DataFolder() jsonfile := datapath + "rate.json" - defer order.DoneOnExit()() area := make(rate, 226) err := load(&area, jsonfile) if err != nil { diff --git a/plugin/score/sign_in.go b/plugin/score/sign_in.go index b062b3d8..32757a1c 100644 --- a/plugin/score/sign_in.go +++ b/plugin/score/sign_in.go @@ -43,7 +43,6 @@ func init() { }) cachePath := engine.DataFolder() + "cache/" go func() { - defer order.DoneOnExit()() os.RemoveAll(cachePath) err := os.MkdirAll(cachePath, 0755) if err != nil { diff --git a/plugin/setutime/setu_geter.go b/plugin/setutime/setu_geter.go index 5519f397..aa60eeb1 100644 --- a/plugin/setutime/setu_geter.go +++ b/plugin/setutime/setu_geter.go @@ -62,7 +62,6 @@ func init() { // 插件主体 }) go func() { - defer order.DoneOnExit()() // 如果数据库不存在则下载 pool.db.DBPath = engine.DataFolder() + "SetuTime.db" _, _ = fileutil.GetLazyData(pool.db.DBPath, false, false) diff --git a/plugin/thesaurus/chat.go b/plugin/thesaurus/chat.go index 19356821..655137bc 100644 --- a/plugin/thesaurus/chat.go +++ b/plugin/thesaurus/chat.go @@ -23,7 +23,6 @@ func init() { PublicDataFolder: "Chat", }) go func() { - defer order.DoneOnExit()() data, err := file.GetLazyData(engine.DataFolder()+"kimoi.json", true, true) if err != nil { panic(err) diff --git a/plugin/vtb_quotation/vtb_quotation.go b/plugin/vtb_quotation/vtb_quotation.go index 41563f29..83874f1b 100644 --- a/plugin/vtb_quotation/vtb_quotation.go +++ b/plugin/vtb_quotation/vtb_quotation.go @@ -44,7 +44,6 @@ func init() { dbfile := engine.DataFolder() + "vtb.db" storePath := engine.DataFolder() + "store/" go func() { - defer order.DoneOnExit()() err := os.MkdirAll(storePath, 0755) if err != nil { panic(err) diff --git a/plugin/wordle/wordle.go b/plugin/wordle/wordle.go index 097c60d9..3b6b1300 100644 --- a/plugin/wordle/wordle.go +++ b/plugin/wordle/wordle.go @@ -73,7 +73,6 @@ func init() { }), )) go func() { - defer order.DoneOnExit()() for i := 5; i <= 7; i++ { dc, err := file.GetLazyData(fmt.Sprintf("%scet-4_%d.txt", en.DataFolder(), i), true, true) if err != nil { diff --git a/plugin/ymgal/ymgal.go b/plugin/ymgal/ymgal.go index 4e955329..69c3d000 100644 --- a/plugin/ymgal/ymgal.go +++ b/plugin/ymgal/ymgal.go @@ -20,7 +20,6 @@ func init() { }) dbfile := engine.DataFolder() + "ymgal.db" go func() { - defer order.DoneOnExit()() _, _ = file.GetLazyData(dbfile, false, false) gdb = initialize(dbfile) }()