fix tarot

This commit is contained in:
源文雨 2022-10-22 12:01:45 +08:00
parent 494c1b33b4
commit a0df41b859

View File

@ -41,12 +41,13 @@ type formation struct {
} }
type cardSet = map[string]card type cardSet = map[string]card
var cardMap = make(cardSet, 80) var (
var infoMap = make(map[string]cardInfo, 80) cardMap = make(cardSet, 80)
var formationMap = make(map[string]formation, 10) infoMap = make(map[string]cardInfo, 80)
formationMap = make(map[string]formation, 10)
var majorArcanaName = make([]string, 0, 80) majorArcanaName = make([]string, 0, 80)
var formationName = make([]string, 0, 10) formationName = make([]string, 0, 10)
)
func init() { func init() {
engine := control.Register("tarot", &ctrl.Options[*zero.Ctx]{ engine := control.Register("tarot", &ctrl.Options[*zero.Ctx]{
@ -313,32 +314,32 @@ func poolimg(ctx *zero.Ctx, imgurl, imgname, cache string) (msg message.MessageS
imgfile := cache + "/" + imgname + ".png" imgfile := cache + "/" + imgname + ".png"
aimgfile := file.BOTPATH + "/" + imgfile aimgfile := file.BOTPATH + "/" + imgfile
m, err := pool.GetImage(imgname) m, err := pool.GetImage(imgname)
if err != nil { if err == nil {
if file.IsNotExist(aimgfile) {
var f *os.File
f, err = os.Create(imgfile)
if err != nil {
return
}
var data []byte
data, err = web.RequestDataWith(web.NewTLS12Client(), imgurl, "GET", "gitcode.net", web.RandUA())
if err != nil {
return
}
_ = f.Close()
err = os.WriteFile(f.Name(), data, 0755)
if err != nil {
return
}
}
m.SetFile(aimgfile)
_, _ = m.Push(ctxext.SendToSelf(ctx), ctxext.GetMessage(ctx))
msg = message.Image("file:///" + aimgfile)
} else {
msg = message.Image(m.String()) msg = message.Image(m.String())
if ctxext.SendToSelf(ctx)(msg) == 0 { if ctxext.SendToSelf(ctx)(msg) == 0 {
msg = msg.Add("cache", "0") msg = msg.Add("cache", "0")
} }
return
} }
return msg, nil if file.IsNotExist(aimgfile) {
var data []byte
data, err = web.RequestDataWith(web.NewTLS12Client(), imgurl, "GET", "gitcode.net", web.RandUA())
if err != nil {
return
}
var f *os.File
f, err = os.Create(imgfile)
if err != nil {
return
}
defer f.Close()
err = os.WriteFile(f.Name(), data, 0755)
if err != nil {
return
}
}
m.SetFile(aimgfile)
_, _ = m.Push(ctxext.SendToSelf(ctx), ctxext.GetMessage(ctx))
msg = message.Image("file:///" + aimgfile)
return
} }