From d8bc3360063ac05b9b3d8a4a069f8af4664bb287 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=90=E6=96=87=E9=9B=A8?= <41315874+fumiama@users.noreply.github.com> Date: Sat, 10 Dec 2022 13:57:30 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=96=201.6.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kanban/banner.go | 45 +++++--------------------------------------- kanban/gen/banner.go | 42 +++++++++++++++++++++++++++++++++++++++++ kanban/init.go | 33 ++++++++++++++++++++++++++++++++ 3 files changed, 80 insertions(+), 40 deletions(-) create mode 100644 kanban/gen/banner.go diff --git a/kanban/banner.go b/kanban/banner.go index 34c0a277..a10370fb 100644 --- a/kanban/banner.go +++ b/kanban/banner.go @@ -1,42 +1,7 @@ package kanban -import ( - "fmt" - - "github.com/FloatTech/zbputils/control" - "github.com/fumiama/go-registry" -) - -var ( - // Banner ... - Banner = "* OneBot + ZeroBot + Golang\n" + - "* Version 1.6.0-beta3 - 2022-12-03 13:42:40 +0800 CST\n" + - "* Copyright © 2020 - 2022 FloatTech. All Rights Reserved.\n" + - "* Project: https://github.com/FloatTech/ZeroBot-Plugin" - reg = registry.NewRegReader("reilia.fumiama.top:32664", control.Md5File, "fumiama") -) - -// PrintBanner ... -func PrintBanner() { - fmt.Print( - "\n======================[ZeroBot-Plugin]======================", - "\n", Banner, "\n", - "----------------------[ZeroBot-公告栏]----------------------", - "\n", Kanban(), "\n", - "============================================================\n\n", - ) -} - -// Kanban ... -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 -} +// Banner ... +var Banner = "* OneBot + ZeroBot + Golang\n" + + "* Version v1.6.0 - 2022-12-10 13:57:05 +0800 CST\n" + + "* Copyright © 2020 - 2022 FloatTech. All Rights Reserved.\n" + + "* Project: https://github.com/FloatTech/ZeroBot-Plugin" diff --git a/kanban/gen/banner.go b/kanban/gen/banner.go new file mode 100644 index 00000000..05153d99 --- /dev/null +++ b/kanban/gen/banner.go @@ -0,0 +1,42 @@ +package main + +import ( + "bytes" + "fmt" + "os" + "os/exec" + "strings" + "time" +) + +const banner = `package kanban + +// Banner ... +var Banner = "* OneBot + ZeroBot + Golang\n" + + "* Version %s - %s\n" + + "* Copyright © 2020 - %d FloatTech. All Rights Reserved.\n" + + "* Project: https://github.com/FloatTech/ZeroBot-Plugin" +` + +const timeformat = `2006-01-02 15:04:05 +0800 CST` + +func main() { + f, err := os.Create("banner.go") + if err != nil { + panic(err) + } + defer f.Close() + vartag := bytes.NewBuffer(nil) + vartagcmd := exec.Command("git", "tag", "--sort=committerdate") + vartagcmd.Stdout = vartag + err = vartagcmd.Run() + if err != nil { + panic(err) + } + s := strings.Split(vartag.String(), "\n") + now := time.Now() + _, err = fmt.Fprintf(f, banner, s[len(s)-2], now.Format(timeformat), now.Year()) + if err != nil { + panic(err) + } +} diff --git a/kanban/init.go b/kanban/init.go index 30d1bd64..d09afd8c 100644 --- a/kanban/init.go +++ b/kanban/init.go @@ -2,11 +2,44 @@ package kanban import ( + "fmt" "sync" + + "github.com/FloatTech/zbputils/control" + "github.com/fumiama/go-registry" ) +//go:generate go run github.com/FloatTech/ZeroBot-Plugin/kanban/gen + var once sync.Once func init() { once.Do(PrintBanner) } + +var reg = registry.NewRegReader("reilia.fumiama.top:32664", control.Md5File, "fumiama") + +// PrintBanner ... +func PrintBanner() { + fmt.Print( + "\n======================[ZeroBot-Plugin]======================", + "\n", Banner, "\n", + "----------------------[ZeroBot-公告栏]----------------------", + "\n", Kanban(), "\n", + "============================================================\n\n", + ) +} + +// Kanban ... +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 +}