From 3250ec14acae1c281b49063e1d8e8e071f3bf8a4 Mon Sep 17 00:00:00 2001 From: DreamZero <79574799+Jiang-Red@users.noreply.github.com> Date: Fri, 28 Oct 2022 00:00:43 +0800 Subject: [PATCH] fix: tarot (#475) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix tarot get img * change: use sendtoslef check cache 但是好像过慢 * change: use imgpool * fix 感觉改不好了 * fix: 修改变量赋值顺序 --- plugin/tarot/tarot.go | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/plugin/tarot/tarot.go b/plugin/tarot/tarot.go index 29996fe5..9ba03b8b 100644 --- a/plugin/tarot/tarot.go +++ b/plugin/tarot/tarot.go @@ -62,7 +62,11 @@ func init() { }).ApplySingle(ctxext.DefaultSingle) cache := engine.DataFolder() + "cache" - _ = os.MkdirAll(cache, 0755) + _ = os.RemoveAll(cache) + err := os.MkdirAll(cache, 0755) + if err != nil { + panic(err) + } getTarot := fcext.DoOnceOnSuccess(func(ctx *zero.Ctx) bool { data, err := engine.GetLazyData("tarots.json", true) @@ -142,19 +146,18 @@ func init() { } imgurl := bed + reverse[p] + card.ImgURL imgname := "" - imgpath := cache + "/" + imgname + ".png" if p == 1 { - imgname = reverse[p][:len(reverse[p])-1] + card.Name + imgname = reverse[p][:len(reverse[p])-1] + name } else { - imgname = card.Name + imgname = name } + imgpath := cache + "/" + imgname + ".png" err := pool.SendImageFromPool(imgname, imgpath, func() error { data, err := web.RequestDataWith(web.NewTLS12Client(), imgurl, "GET", "gitcode.net", web.RandUA()) if err != nil { return err } - var f *os.File - f, err = os.Create(imgpath) + f, err := os.Create(imgpath) if err != nil { return err } @@ -191,9 +194,9 @@ func init() { var imgmsg message.MessageSegment var err error if p == 1 { - imgmsg, err = poolimg(ctx, imgurl, reverse[p][:len(reverse[p])-1]+card.Name, cache) + imgmsg, err = poolimg(ctx, imgurl, reverse[p][:len(reverse[p])-1]+name, cache) } else { - imgmsg, err = poolimg(ctx, imgurl, card.Name, cache) + imgmsg, err = poolimg(ctx, imgurl, name, cache) } if err != nil { ctx.SendChain(message.Text("ERROR: ", err)) @@ -285,9 +288,9 @@ func init() { var imgmsg message.MessageSegment var err error if p == 1 { - imgmsg, err = poolimg(ctx, imgurl, reverse[p][:len(reverse[p])-1]+card.Name, cache) + imgmsg, err = poolimg(ctx, imgurl, reverse[p][:len(reverse[p])-1]+name, cache) } else { - imgmsg, err = poolimg(ctx, imgurl, card.Name, cache) + imgmsg, err = poolimg(ctx, imgurl, name, cache) } if err != nil { ctx.SendChain(message.Text("ERROR: ", err))