fix: tarot (#475)

* fix tarot get img

* change: use sendtoslef check cache

但是好像过慢

* change: use imgpool

* fix

感觉改不好了

* fix: 修改变量赋值顺序
This commit is contained in:
DreamZero 2022-10-28 00:00:43 +08:00 committed by GitHub
parent ce2f390361
commit 3250ec14ac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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))