fix gif panic

This commit is contained in:
fumiama 2022-08-22 11:53:52 +08:00
parent b997cb650e
commit 6f1d0f8c02
2 changed files with 132 additions and 202 deletions

View File

@ -14,24 +14,21 @@ import (
func mo(cc *context, value ...string) (string, error) { func mo(cc *context, value ...string) (string, error) {
_ = value _ = value
var wg sync.WaitGroup var wg sync.WaitGroup
var err error var errwg error
var m sync.Mutex var m sync.Mutex
name := cc.usrdir + "摸.gif" name := cc.usrdir + "摸.gif"
c := dlrange("mo", 5, &wg, func(e error) { c := dlrange("mo", 5, &wg, func(e error) {
m.Lock() m.Lock()
err = e errwg = e
m.Unlock() m.Unlock()
}) })
if err != nil {
return "", err
}
tou, err := cc.getLogo(0, 0) tou, err := cc.getLogo(0, 0)
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait() wg.Wait()
if err != nil { if errwg != nil {
return "", err return "", errwg
} }
imgs, err := loadFirstFrames(c, 5) imgs, err := loadFirstFrames(c, 5)
if err != nil { if err != nil {
@ -51,17 +48,14 @@ func mo(cc *context, value ...string) (string, error) {
func cuo(cc *context, value ...string) (string, error) { func cuo(cc *context, value ...string) (string, error) {
_ = value _ = value
var wg sync.WaitGroup var wg sync.WaitGroup
var err error var errwg error
var m sync.Mutex var m sync.Mutex
name := cc.usrdir + "搓.gif" name := cc.usrdir + "搓.gif"
c := dlrange("cuo", 5, &wg, func(e error) { c := dlrange("cuo", 5, &wg, func(e error) {
m.Lock() m.Lock()
err = e errwg = e
m.Unlock() m.Unlock()
}) })
if err != nil {
return "", err
}
tou, err := cc.getLogo(110, 110) tou, err := cc.getLogo(110, 110)
if err != nil { if err != nil {
return "", err return "", err
@ -71,8 +65,8 @@ func cuo(cc *context, value ...string) (string, error) {
m3 := img.Rotate(tou, 216, 0, 0) m3 := img.Rotate(tou, 216, 0, 0)
m4 := img.Rotate(tou, 288, 0, 0) m4 := img.Rotate(tou, 288, 0, 0)
wg.Wait() wg.Wait()
if err != nil { if errwg != nil {
return "", err return "", errwg
} }
imgs, err := loadFirstFrames(c, 5) imgs, err := loadFirstFrames(c, 5)
if err != nil { if err != nil {
@ -92,24 +86,21 @@ func cuo(cc *context, value ...string) (string, error) {
func qiao(cc *context, value ...string) (string, error) { func qiao(cc *context, value ...string) (string, error) {
_ = value _ = value
var wg sync.WaitGroup var wg sync.WaitGroup
var err error var errwg error
var m sync.Mutex var m sync.Mutex
name := cc.usrdir + "敲.gif" name := cc.usrdir + "敲.gif"
c := dlrange("qiao", 2, &wg, func(e error) { c := dlrange("qiao", 2, &wg, func(e error) {
m.Lock() m.Lock()
err = e errwg = e
m.Unlock() m.Unlock()
}) })
if err != nil {
return "", err
}
tou, err := cc.getLogo(40, 40) tou, err := cc.getLogo(40, 40)
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait() wg.Wait()
if err != nil { if errwg != nil {
return "", err return "", errwg
} }
imgs, err := loadFirstFrames(c, 2) imgs, err := loadFirstFrames(c, 2)
if err != nil { if err != nil {
@ -126,24 +117,21 @@ func qiao(cc *context, value ...string) (string, error) {
func chi(cc *context, value ...string) (string, error) { func chi(cc *context, value ...string) (string, error) {
_ = value _ = value
var wg sync.WaitGroup var wg sync.WaitGroup
var err error var errwg error
var m sync.Mutex var m sync.Mutex
name := cc.usrdir + "吃.gif" name := cc.usrdir + "吃.gif"
c := dlrange("chi", 3, &wg, func(e error) { c := dlrange("chi", 3, &wg, func(e error) {
m.Lock() m.Lock()
err = e errwg = e
m.Unlock() m.Unlock()
}) })
if err != nil {
return "", err
}
tou, err := cc.getLogo(32, 32) tou, err := cc.getLogo(32, 32)
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait() wg.Wait()
if err != nil { if errwg != nil {
return "", err return "", errwg
} }
imgs, err := loadFirstFrames(c, 3) imgs, err := loadFirstFrames(c, 3)
if err != nil { if err != nil {
@ -161,17 +149,14 @@ func chi(cc *context, value ...string) (string, error) {
func ceng(cc *context, value ...string) (string, error) { func ceng(cc *context, value ...string) (string, error) {
_ = value _ = value
var wg sync.WaitGroup var wg sync.WaitGroup
var err error var errwg error
var m sync.Mutex var m sync.Mutex
name := cc.usrdir + "蹭.gif" name := cc.usrdir + "蹭.gif"
c := dlrange("ceng", 6, &wg, func(e error) { c := dlrange("ceng", 6, &wg, func(e error) {
m.Lock() m.Lock()
err = e errwg = e
m.Unlock() m.Unlock()
}) })
if err != nil {
return "", err
}
tou, err := cc.getLogo(100, 100) tou, err := cc.getLogo(100, 100)
if err != nil { if err != nil {
return "", err return "", err
@ -181,8 +166,8 @@ func ceng(cc *context, value ...string) (string, error) {
return "", err return "", err
} }
wg.Wait() wg.Wait()
if err != nil { if errwg != nil {
return "", err return "", errwg
} }
imgs, err := loadFirstFrames(c, 6) imgs, err := loadFirstFrames(c, 6)
if err != nil { if err != nil {
@ -203,24 +188,21 @@ func ceng(cc *context, value ...string) (string, error) {
func ken(cc *context, value ...string) (string, error) { func ken(cc *context, value ...string) (string, error) {
_ = value _ = value
var wg sync.WaitGroup var wg sync.WaitGroup
var err error var errwg error
var m sync.Mutex var m sync.Mutex
name := cc.usrdir + "啃.gif" name := cc.usrdir + "啃.gif"
c := dlrange("ken", 16, &wg, func(e error) { c := dlrange("ken", 16, &wg, func(e error) {
m.Lock() m.Lock()
err = e errwg = e
m.Unlock() m.Unlock()
}) })
if err != nil {
return "", err
}
tou, err := cc.getLogo(100, 100) tou, err := cc.getLogo(100, 100)
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait() wg.Wait()
if err != nil { if errwg != nil {
return "", err return "", errwg
} }
imgs, err := loadFirstFrames(c, 16) imgs, err := loadFirstFrames(c, 16)
if err != nil { if err != nil {
@ -251,24 +233,21 @@ func ken(cc *context, value ...string) (string, error) {
func pai(cc *context, value ...string) (string, error) { func pai(cc *context, value ...string) (string, error) {
_ = value _ = value
var wg sync.WaitGroup var wg sync.WaitGroup
var err error var errwg error
var m sync.Mutex var m sync.Mutex
name := cc.usrdir + "拍.gif" name := cc.usrdir + "拍.gif"
c := dlrange("pai", 2, &wg, func(e error) { c := dlrange("pai", 2, &wg, func(e error) {
m.Lock() m.Lock()
err = e errwg = e
m.Unlock() m.Unlock()
}) })
if err != nil {
return "", err
}
tou, err := cc.getLogo(30, 30) tou, err := cc.getLogo(30, 30)
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait() wg.Wait()
if err != nil { if errwg != nil {
return "", err return "", errwg
} }
imgs, err := loadFirstFrames(c, 2) imgs, err := loadFirstFrames(c, 2)
if err != nil { if err != nil {
@ -285,24 +264,21 @@ func pai(cc *context, value ...string) (string, error) {
func xqe(cc *context, value ...string) (string, error) { func xqe(cc *context, value ...string) (string, error) {
_ = value _ = value
var wg sync.WaitGroup var wg sync.WaitGroup
var err error var errwg error
var m sync.Mutex var m sync.Mutex
name := cc.usrdir + "冲.gif" name := cc.usrdir + "冲.gif"
c := dlrange("xqe", 2, &wg, func(e error) { c := dlrange("xqe", 2, &wg, func(e error) {
m.Lock() m.Lock()
err = e errwg = e
m.Unlock() m.Unlock()
}) })
if err != nil {
return "", err
}
tou, err := cc.getLogo(0, 0) tou, err := cc.getLogo(0, 0)
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait() wg.Wait()
if err != nil { if errwg != nil {
return "", err return "", errwg
} }
imgs, err := loadFirstFrames(c, 2) imgs, err := loadFirstFrames(c, 2)
if err != nil { if err != nil {
@ -319,24 +295,21 @@ func xqe(cc *context, value ...string) (string, error) {
func diu(cc *context, value ...string) (string, error) { func diu(cc *context, value ...string) (string, error) {
_ = value _ = value
var wg sync.WaitGroup var wg sync.WaitGroup
var err error var errwg error
var m sync.Mutex var m sync.Mutex
name := cc.usrdir + "丢.gif" name := cc.usrdir + "丢.gif"
c := dlrange("diu", 8, &wg, func(e error) { c := dlrange("diu", 8, &wg, func(e error) {
m.Lock() m.Lock()
err = e errwg = e
m.Unlock() m.Unlock()
}) })
if err != nil {
return "", err
}
tou, err := cc.getLogo(0, 0) tou, err := cc.getLogo(0, 0)
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait() wg.Wait()
if err != nil { if errwg != nil {
return "", err return "", errwg
} }
imgs, err := loadFirstFrames(c, 8) imgs, err := loadFirstFrames(c, 8)
if err != nil { if err != nil {
@ -368,10 +341,10 @@ func kiss(cc *context, value ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
tou, err := cc.getLogo(0, 0) tou, err := cc.getLogo(0, 0)
if err != nil { if err != nil {
return "", err return "", err
@ -407,10 +380,10 @@ func garbage(cc *context, value ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 79, 79) im, err := img.LoadFirstFrame(cc.headimgsdir[0], 79, 79)
if err != nil { if err != nil {
return "", err return "", err
@ -440,10 +413,10 @@ func thump(cc *context, value ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0) im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
if err != nil { if err != nil {
return "", err return "", err
@ -473,10 +446,10 @@ func jiujiu(cc *context, value ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 75, 51) im, err := img.LoadFirstFrame(cc.headimgsdir[0], 75, 51)
if err != nil { if err != nil {
return "", err return "", err
@ -505,10 +478,10 @@ func knock(cc *context, value ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0) im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
if err != nil { if err != nil {
return "", err return "", err
@ -538,10 +511,10 @@ func listenMusic(cc *context, value ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
face, err := cc.getLogo(0, 0) face, err := cc.getLogo(0, 0)
if err != nil { if err != nil {
return "", err return "", err
@ -570,10 +543,10 @@ func loveYou(cc *context, value ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0) im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
if err != nil { if err != nil {
return "", err return "", err
@ -603,10 +576,10 @@ func pat(cc *context, value ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0) im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
if err != nil { if err != nil {
return "", err return "", err
@ -645,10 +618,10 @@ func jackUp(cc *context, value ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0) im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
if err != nil { if err != nil {
return "", err return "", err
@ -688,10 +661,10 @@ func pound(cc *context, value ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0) im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
if err != nil { if err != nil {
return "", err return "", err
@ -721,10 +694,10 @@ func punch(cc *context, value ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 260, 260) im, err := img.LoadFirstFrame(cc.headimgsdir[0], 260, 260)
if err != nil { if err != nil {
return "", err return "", err
@ -754,10 +727,10 @@ func roll(cc *context, value ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 210, 210) im, err := img.LoadFirstFrame(cc.headimgsdir[0], 210, 210)
if err != nil { if err != nil {
return "", err return "", err
@ -787,10 +760,10 @@ func suck(cc *context, value ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0) im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
if err != nil { if err != nil {
return "", err return "", err
@ -820,10 +793,10 @@ func hammer(cc *context, value ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0) im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
if err != nil { if err != nil {
return "", err return "", err
@ -853,10 +826,10 @@ func tightly(cc *context, value ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0) im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
if err != nil { if err != nil {
return "", err return "", err
@ -896,24 +869,21 @@ func turn(cc *context, value ...string) (string, error) {
func taiguan(cc *context, value ...string) (string, error) { func taiguan(cc *context, value ...string) (string, error) {
_ = value _ = value
var wg sync.WaitGroup var wg sync.WaitGroup
var err error var errwg error
var m sync.Mutex var m sync.Mutex
name := cc.usrdir + "taiguan.gif" name := cc.usrdir + "taiguan.gif"
c := dlrange("taiguan", 20, &wg, func(e error) { c := dlrange("taiguan", 20, &wg, func(e error) {
m.Lock() m.Lock()
err = e errwg = e
m.Unlock() m.Unlock()
}) })
if err != nil {
return "", err
}
tou, err := cc.getLogo(0, 0) tou, err := cc.getLogo(0, 0)
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait() wg.Wait()
if err != nil { if errwg != nil {
return "", err return "", errwg
} }
imgs, err := loadFirstFrames(c, 20) imgs, err := loadFirstFrames(c, 20)
if err != nil { if err != nil {
@ -948,17 +918,14 @@ func taiguan(cc *context, value ...string) (string, error) {
func zou(cc *context, value ...string) (string, error) { func zou(cc *context, value ...string) (string, error) {
_ = value _ = value
var wg sync.WaitGroup var wg sync.WaitGroup
var err error var errwg error
var m sync.Mutex var m sync.Mutex
name := cc.usrdir + "zou.gif" name := cc.usrdir + "zou.gif"
c := dlrange("zou", 3, &wg, func(e error) { c := dlrange("zou", 3, &wg, func(e error) {
m.Lock() m.Lock()
err = e errwg = e
m.Unlock() m.Unlock()
}) })
if err != nil {
return "", err
}
tou, err := cc.getLogo(100, 100) tou, err := cc.getLogo(100, 100)
if err != nil { if err != nil {
return "", err return "", err
@ -968,8 +935,8 @@ func zou(cc *context, value ...string) (string, error) {
return "", err return "", err
} }
wg.Wait() wg.Wait()
if err != nil { if errwg != nil {
return "", err return "", errwg
} }
imgs, err := loadFirstFrames(c, 3) imgs, err := loadFirstFrames(c, 3)
if err != nil { if err != nil {
@ -987,24 +954,21 @@ func zou(cc *context, value ...string) (string, error) {
func ci(cc *context, value ...string) (string, error) { func ci(cc *context, value ...string) (string, error) {
_ = value _ = value
var wg sync.WaitGroup var wg sync.WaitGroup
var err error var errwg error
var m sync.Mutex var m sync.Mutex
name := cc.usrdir + "ci.gif" name := cc.usrdir + "ci.gif"
c := dlrange("ci", 26, &wg, func(e error) { c := dlrange("ci", 26, &wg, func(e error) {
m.Lock() m.Lock()
err = e errwg = e
m.Unlock() m.Unlock()
}) })
if err != nil {
return "", err
}
tou, err := cc.getLogo(100, 100) tou, err := cc.getLogo(100, 100)
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait() wg.Wait()
if err != nil { if errwg != nil {
return "", err return "", errwg
} }
imgs, err := loadFirstFrames(c, 26) imgs, err := loadFirstFrames(c, 26)
if err != nil { if err != nil {
@ -1053,6 +1017,7 @@ func worship(cc *context, value ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
@ -1060,10 +1025,6 @@ func worship(cc *context, value ...string) (string, error) {
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
if err != nil {
return "", err
}
imgs, err := loadFirstFrames(c, 9) imgs, err := loadFirstFrames(c, 9)
if err != nil { if err != nil {
return "", err return "", err
@ -1086,24 +1047,21 @@ func worship(cc *context, value ...string) (string, error) {
func ceng2(cc *context, value ...string) (string, error) { func ceng2(cc *context, value ...string) (string, error) {
_ = value _ = value
var wg sync.WaitGroup var wg sync.WaitGroup
var err error var errwg error
var m sync.Mutex var m sync.Mutex
name := cc.usrdir + "ceng2.gif" name := cc.usrdir + "ceng2.gif"
c := dlrange("ceng2", 4, &wg, func(e error) { c := dlrange("ceng2", 4, &wg, func(e error) {
m.Lock() m.Lock()
err = e errwg = e
m.Unlock() m.Unlock()
}) })
if err != nil {
return "", err
}
tou, err := cc.getLogo(100, 100) tou, err := cc.getLogo(100, 100)
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait() wg.Wait()
if err != nil { if errwg != nil {
return "", err return "", errwg
} }
imgs, err := loadFirstFrames(c, 4) imgs, err := loadFirstFrames(c, 4)
if err != nil { if err != nil {
@ -1122,24 +1080,21 @@ func ceng2(cc *context, value ...string) (string, error) {
func dun(cc *context, value ...string) (string, error) { func dun(cc *context, value ...string) (string, error) {
_ = value _ = value
var wg sync.WaitGroup var wg sync.WaitGroup
var err error var errwg error
var m sync.Mutex var m sync.Mutex
name := cc.usrdir + "dun.gif" name := cc.usrdir + "dun.gif"
c := dlrange("dun", 5, &wg, func(e error) { c := dlrange("dun", 5, &wg, func(e error) {
m.Lock() m.Lock()
err = e errwg = e
m.Unlock() m.Unlock()
}) })
if err != nil {
return "", err
}
tou, err := cc.getLogo(100, 100) tou, err := cc.getLogo(100, 100)
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait() wg.Wait()
if err != nil { if errwg != nil {
return "", err return "", errwg
} }
imgs, err := loadFirstFrames(c, 5) imgs, err := loadFirstFrames(c, 5)
if err != nil { if err != nil {
@ -1168,10 +1123,10 @@ func push(cc *context, value ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
tou, err := cc.getLogo(0, 0) tou, err := cc.getLogo(0, 0)
if err != nil { if err != nil {
return "", err return "", err
@ -1191,17 +1146,14 @@ func push(cc *context, value ...string) (string, error) {
func peng(cc *context, value ...string) (string, error) { func peng(cc *context, value ...string) (string, error) {
_ = value _ = value
var wg sync.WaitGroup var wg sync.WaitGroup
var err error var errwg error
var m sync.Mutex var m sync.Mutex
name := cc.usrdir + "peng.gif" name := cc.usrdir + "peng.gif"
c := dlrange("peng", 25, &wg, func(e error) { c := dlrange("peng", 25, &wg, func(e error) {
m.Lock() m.Lock()
err = e errwg = e
m.Unlock() m.Unlock()
}) })
if err != nil {
return "", err
}
tou, err := cc.getLogo(100, 100) tou, err := cc.getLogo(100, 100)
if err != nil { if err != nil {
return "", err return "", err
@ -1210,10 +1162,9 @@ func peng(cc *context, value ...string) (string, error) {
m2 := img.Rotate(tou, 30, 80, 80) m2 := img.Rotate(tou, 30, 80, 80)
m3 := img.Rotate(tou, 45, 85, 85) m3 := img.Rotate(tou, 45, 85, 85)
m4 := img.Rotate(tou, 90, 80, 80) m4 := img.Rotate(tou, 90, 80, 80)
wg.Wait() wg.Wait()
if err != nil { if errwg != nil {
return "", err return "", errwg
} }
imgs, err := loadFirstFrames(c, 25) imgs, err := loadFirstFrames(c, 25)
if err != nil { if err != nil {
@ -1262,10 +1213,10 @@ func klee(cc *context, value ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 82, 83) im, err := img.LoadFirstFrame(cc.headimgsdir[0], 82, 83)
if err != nil { if err != nil {
return "", err return "", err
@ -1286,24 +1237,21 @@ func klee(cc *context, value ...string) (string, error) {
func hutaoken(cc *context, value ...string) (string, error) { func hutaoken(cc *context, value ...string) (string, error) {
_ = value _ = value
var wg sync.WaitGroup var wg sync.WaitGroup
var err error var errwg error
var m sync.Mutex var m sync.Mutex
name := cc.usrdir + "hutaoken.gif" name := cc.usrdir + "hutaoken.gif"
c := dlrange("hutaoken", 2, &wg, func(e error) { c := dlrange("hutaoken", 2, &wg, func(e error) {
m.Lock() m.Lock()
err = e errwg = e
m.Unlock() m.Unlock()
}) })
if err != nil {
return "", err
}
tou, err := cc.getLogo(55, 55) tou, err := cc.getLogo(55, 55)
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait() wg.Wait()
if err != nil { if errwg != nil {
return "", err return "", errwg
} }
imgs, err := loadFirstFrames(c, 2) imgs, err := loadFirstFrames(c, 2)
if err != nil { if err != nil {
@ -1320,21 +1268,22 @@ func hutaoken(cc *context, value ...string) (string, error) {
func lick(cc *context, value ...string) (string, error) { func lick(cc *context, value ...string) (string, error) {
_ = value _ = value
var wg sync.WaitGroup var wg sync.WaitGroup
var err error var errwg error
var m sync.Mutex var m sync.Mutex
name := cc.usrdir + "lick.gif" name := cc.usrdir + "lick.gif"
c := dlrange("lick", 2, &wg, func(e error) { c := dlrange("lick", 2, &wg, func(e error) {
m.Lock() m.Lock()
err = e errwg = e
m.Unlock() m.Unlock()
}) })
if err != nil {
return "", err
}
tou, err := cc.getLogo(100, 100) tou, err := cc.getLogo(100, 100)
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
if errwg != nil {
return "", errwg
}
imgs, err := loadFirstFrames(c, 2) imgs, err := loadFirstFrames(c, 2)
if err != nil { if err != nil {
return "", err return "", err
@ -1359,10 +1308,10 @@ func tiqiu(cc *context, value ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
tou, err := cc.getLogo(78, 78) tou, err := cc.getLogo(78, 78)
if err != nil { if err != nil {
return "", err return "", err
@ -1383,24 +1332,21 @@ func tiqiu(cc *context, value ...string) (string, error) {
func cai(cc *context, value ...string) (string, error) { func cai(cc *context, value ...string) (string, error) {
_ = value _ = value
var wg sync.WaitGroup var wg sync.WaitGroup
var err error var errwg error
var m sync.Mutex var m sync.Mutex
name := cc.usrdir + "cai.gif" name := cc.usrdir + "cai.gif"
c := dlrange("cai", 5, &wg, func(e error) { c := dlrange("cai", 5, &wg, func(e error) {
m.Lock() m.Lock()
err = e errwg = e
m.Unlock() m.Unlock()
}) })
if err != nil {
return "", err
}
tou, err := cc.getLogo(0, 0) tou, err := cc.getLogo(0, 0)
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait() wg.Wait()
if err != nil { if errwg != nil {
return "", err return "", errwg
} }
imgs, err := loadFirstFrames(c, 5) imgs, err := loadFirstFrames(c, 5)
if err != nil { if err != nil {
@ -1430,10 +1376,10 @@ func whirl(cc *context, value ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
tou, err := cc.getLogo(0, 0) tou, err := cc.getLogo(0, 0)
if err != nil { if err != nil {
return "", err return "", err

View File

@ -204,10 +204,10 @@ func alike(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
imgs, err := loadFirstFrames(c, 1) imgs, err := loadFirstFrames(c, 1)
if err != nil { if err != nil {
return "", err return "", err
@ -232,10 +232,10 @@ func marriage(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
imgs, err := loadFirstFrames(c, 2) imgs, err := loadFirstFrames(c, 2)
if err != nil { if err != nil {
return "", err return "", err
@ -260,10 +260,10 @@ func anyasuki(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
name := cc.usrdir + "Anyasuki.png" name := cc.usrdir + "Anyasuki.png"
back, err := gg.LoadImage(c[0]) back, err := gg.LoadImage(c[0])
if err != nil { if err != nil {
@ -306,10 +306,10 @@ func alwaysLike(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
name := cc.usrdir + "AlwaysLike.png" name := cc.usrdir + "AlwaysLike.png"
back, err := gg.LoadImage(c[0]) back, err := gg.LoadImage(c[0])
if err != nil { if err != nil {
@ -353,10 +353,10 @@ func decentKiss(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
imgs, err := loadFirstFrames(c, 1) imgs, err := loadFirstFrames(c, 1)
if err != nil { if err != nil {
return "", err return "", err
@ -381,10 +381,10 @@ func chinaFlag(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
imgs, err := loadFirstFrames(c, 1) imgs, err := loadFirstFrames(c, 1)
if err != nil { if err != nil {
return "", err return "", err
@ -409,10 +409,10 @@ func dontTouch(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
imgs, err := loadFirstFrames(c, 1) imgs, err := loadFirstFrames(c, 1)
if err != nil { if err != nil {
return "", err return "", err
@ -466,10 +466,10 @@ func interview(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
name := cc.usrdir + "Interview.png" name := cc.usrdir + "Interview.png"
huaji, err := gg.LoadImage(c[0]) huaji, err := gg.LoadImage(c[0])
if err != nil { if err != nil {
@ -517,10 +517,10 @@ func need(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
imgs, err := loadFirstFrames(c, 1) imgs, err := loadFirstFrames(c, 1)
if err != nil { if err != nil {
return "", err return "", err
@ -545,10 +545,10 @@ func paint(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
imgs, err := loadFirstFrames(c, 1) imgs, err := loadFirstFrames(c, 1)
if err != nil { if err != nil {
return "", err return "", err
@ -573,10 +573,10 @@ func painter(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
imgs, err := loadFirstFrames(c, 1) imgs, err := loadFirstFrames(c, 1)
if err != nil { if err != nil {
return "", err return "", err
@ -601,10 +601,10 @@ func perfect(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
imgs, err := loadFirstFrames(c, 1) imgs, err := loadFirstFrames(c, 1)
if err != nil { if err != nil {
return "", err return "", err
@ -629,10 +629,10 @@ func playGame(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
name := cc.usrdir + "PlayGame.png" name := cc.usrdir + "PlayGame.png"
back, err := gg.LoadImage(c[0]) back, err := gg.LoadImage(c[0])
if err != nil { if err != nil {
@ -675,10 +675,10 @@ func police(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
imgs, err := loadFirstFrames(c, 2) imgs, err := loadFirstFrames(c, 2)
if err != nil { if err != nil {
return "", err return "", err
@ -703,10 +703,10 @@ func police1(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
imgs, err := loadFirstFrames(c, 2) imgs, err := loadFirstFrames(c, 2)
if err != nil { if err != nil {
return "", err return "", err
@ -731,10 +731,10 @@ func prpr(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
imgs, err := loadFirstFrames(c, 1) imgs, err := loadFirstFrames(c, 1)
if err != nil { if err != nil {
return "", err return "", err
@ -759,10 +759,10 @@ func safeSense(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
name := cc.usrdir + "SafeSense.png" name := cc.usrdir + "SafeSense.png"
back, err := gg.LoadImage(c[0]) back, err := gg.LoadImage(c[0])
if err != nil { if err != nil {
@ -807,10 +807,10 @@ func support(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
imgs, err := loadFirstFrames(c, 1) imgs, err := loadFirstFrames(c, 1)
if err != nil { if err != nil {
return "", err return "", err
@ -835,10 +835,10 @@ func thinkwhat(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
imgs, err := loadFirstFrames(c, 1) imgs, err := loadFirstFrames(c, 1)
if err != nil { if err != nil {
return "", err return "", err
@ -863,10 +863,10 @@ func wallpaper(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
imgs, err := loadFirstFrames(c, 1) imgs, err := loadFirstFrames(c, 1)
if err != nil { if err != nil {
return "", err return "", err
@ -891,10 +891,10 @@ func whyatme(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
imgs, err := loadFirstFrames(c, 1) imgs, err := loadFirstFrames(c, 1)
if err != nil { if err != nil {
return "", err return "", err
@ -919,10 +919,10 @@ func makeFriend(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
name := cc.usrdir + "MakeFriend.png" name := cc.usrdir + "MakeFriend.png"
back, err := gg.LoadImage(c[0]) back, err := gg.LoadImage(c[0])
if err != nil { if err != nil {
@ -968,10 +968,10 @@ func backToWork(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
imgs, err := loadFirstFrames(c, 1) imgs, err := loadFirstFrames(c, 1)
if err != nil { if err != nil {
return "", err return "", err
@ -996,10 +996,10 @@ func coupon(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
name := cc.usrdir + "Coupon.png" name := cc.usrdir + "Coupon.png"
if args[0] == "" { if args[0] == "" {
args[0] = "群主陪睡券" args[0] = "群主陪睡券"
@ -1047,10 +1047,10 @@ func distracted(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
imgs, err := loadFirstFrames(c, 2) imgs, err := loadFirstFrames(c, 2)
if err != nil { if err != nil {
return "", err return "", err
@ -1075,10 +1075,10 @@ func throw(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
imgs, err := loadFirstFrames(c, 1) imgs, err := loadFirstFrames(c, 1)
if err != nil { if err != nil {
return "", err return "", err
@ -1103,10 +1103,10 @@ func yuanli(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
imgs, err := loadFirstFrames(c, 1) imgs, err := loadFirstFrames(c, 1)
if err != nil { if err != nil {
return "", err return "", err
@ -1131,10 +1131,10 @@ func nowife(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
imgs, err := loadFirstFrames(c, 1) imgs, err := loadFirstFrames(c, 1)
if err != nil { if err != nil {
return "", err return "", err
@ -1159,10 +1159,10 @@ func youer(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
name := cc.usrdir + "youer.png" name := cc.usrdir + "youer.png"
back, err := gg.LoadImage(c[0]) back, err := gg.LoadImage(c[0])
if err != nil { if err != nil {
@ -1172,10 +1172,6 @@ func youer(cc *context, args ...string) (string, error) {
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
if err != nil {
return "", err
}
canvas := gg.NewContext(690, 690) canvas := gg.NewContext(690, 690)
canvas.DrawImage(back, 0, 0) canvas.DrawImage(back, 0, 0)
canvas.DrawImage(img.Size(tou, 350, 350).Im, 55, 165) canvas.DrawImage(img.Size(tou, 350, 350).Im, 55, 165)
@ -1210,10 +1206,10 @@ func xiaotianshi(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
name := cc.usrdir + "xiaotianshi.png" name := cc.usrdir + "xiaotianshi.png"
back, err := gg.LoadImage(c[0]) back, err := gg.LoadImage(c[0])
if err != nil { if err != nil {
@ -1223,10 +1219,6 @@ func xiaotianshi(cc *context, args ...string) (string, error) {
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
if err != nil {
return "", err
}
canvas := gg.NewContext(522, 665) canvas := gg.NewContext(522, 665)
canvas.DrawImage(back, 0, 0) canvas.DrawImage(back, 0, 0)
canvas.DrawImage(img.Size(face, 480, 480).Im, 20, 80) canvas.DrawImage(img.Size(face, 480, 480).Im, 20, 80)
@ -1261,10 +1253,10 @@ func neko(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
imgs, err := loadFirstFrames(c, 1) imgs, err := loadFirstFrames(c, 1)
if err != nil { if err != nil {
return "", err return "", err
@ -1290,10 +1282,10 @@ func bian(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
imgs, err := loadFirstFrames(c, 1) imgs, err := loadFirstFrames(c, 1)
if err != nil { if err != nil {
return "", err return "", err
@ -1318,10 +1310,10 @@ func van(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
name := cc.usrdir + "van.png" name := cc.usrdir + "van.png"
back, err := gg.LoadImage(c[0]) back, err := gg.LoadImage(c[0])
if err != nil { if err != nil {
@ -1331,10 +1323,6 @@ func van(cc *context, args ...string) (string, error) {
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
if err != nil {
return "", err
}
canvas := gg.NewContext(522, 665) canvas := gg.NewContext(522, 665)
canvas.DrawImage(back, 0, 0) canvas.DrawImage(back, 0, 0)
canvas.DrawImage(img.Size(face, 480, 480).Im, 20, 80) canvas.DrawImage(img.Size(face, 480, 480).Im, 20, 80)
@ -1369,10 +1357,10 @@ func eihei(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
imgs, err := loadFirstFrames(c, 1) imgs, err := loadFirstFrames(c, 1)
if err != nil { if err != nil {
return "", err return "", err
@ -1397,10 +1385,10 @@ func fanfa(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
imgs, err := loadFirstFrames(c, 1) imgs, err := loadFirstFrames(c, 1)
if err != nil { if err != nil {
return "", err return "", err
@ -1426,10 +1414,10 @@ func huai(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
imgs, err := loadFirstFrames(c, 1) imgs, err := loadFirstFrames(c, 1)
if err != nil { if err != nil {
return "", err return "", err
@ -1454,10 +1442,10 @@ func haowan(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
imgs, err := loadFirstFrames(c, 1) imgs, err := loadFirstFrames(c, 1)
if err != nil { if err != nil {
return "", err return "", err
@ -1482,10 +1470,10 @@ func mengbi(cc *context, args ...string) (string, error) {
err = e err = e
m.Unlock() m.Unlock()
}) })
wg.Wait()
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
name := cc.usrdir + "mengbi.png" name := cc.usrdir + "mengbi.png"
back, err := gg.LoadImage(c[0]) back, err := gg.LoadImage(c[0])
if err != nil { if err != nil {
@ -1495,10 +1483,6 @@ func mengbi(cc *context, args ...string) (string, error) {
if err != nil { if err != nil {
return "", err return "", err
} }
wg.Wait()
if err != nil {
return "", err
}
canvas := gg.NewContext(1080, 1080) canvas := gg.NewContext(1080, 1080)
canvas.DrawImage(back, 0, 0) canvas.DrawImage(back, 0, 0)
canvas.DrawImage(img.Size(face, 100, 100).Im, 392, 460) canvas.DrawImage(img.Size(face, 100, 100).Im, 392, 460)