diff --git a/.gitignore b/.gitignore index 9842d743..9f8659ce 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ data/SetuTime/cache data/SetuTime/search data/manager +data/acgimage .idea/ .DS_Store .vscode diff --git a/plugin_atri/atri.go b/plugin_atri/atri.go index 476e6edc..55b656f2 100644 --- a/plugin_atri/atri.go +++ b/plugin_atri/atri.go @@ -16,8 +16,8 @@ import ( var ( // ATRI 所有命令的优先级 prio = -1 - // ATRI 表情的 GitHub 位置,如果发现图片不能下载请使用镜像 - res = "https://raw.githubusercontent.com/FloatTech/ZeroBot-Plugin/master/plugin_atri/" + // ATRI 表情的 codechina 镜像 + res = "https://codechina.csdn.net/u011570312/ZeroBot-Plugin/-/raw/master/plugin_atri/" // ATRI 的总开关 enable = true ) diff --git a/plugin_diana/data/text.go b/plugin_diana/data/text.go index 10a87e26..14d8e68a 100644 --- a/plugin_diana/data/text.go +++ b/plugin_diana/data/text.go @@ -3,6 +3,7 @@ package data import ( "io" + "net/http" "os" "time" @@ -12,6 +13,7 @@ import ( const ( datapath = "data/Diana" pbfile = datapath + "/text.pb" + pburl = "https://codechina.csdn.net/u011570312/ZeroBot-Plugin/-/raw/master/data/Diana/text.pb" ) var ( @@ -41,6 +43,7 @@ func LoadText() error { if _, err := os.Stat(pbfile); err == nil || os.IsExist(err) { f, err := os.Open(pbfile) if err == nil { + defer f.Close() data, err1 := io.ReadAll(f) if err1 == nil { if len(data) > 0 { @@ -49,6 +52,26 @@ func LoadText() error { } return err1 } + } else { // 如果没有小作文,则从 url 下载 + f, err := os.Create(pbfile) + if err != nil { + return err + } + defer f.Close() + resp, err := http.Get(pburl) + if err == nil { + defer resp.Body.Close() + if resp.ContentLength > 0 { + log.Printf("[Diana]从镜像下载小作文%d字节...", resp.ContentLength) + data, err := io.ReadAll(resp.Body) + if err == nil && len(data) > 0 { + f.Write(data) + return compo.Unmarshal(data) + } + return err + } + return nil + } return err } return nil