Skip to content

Commit ed7bbf5

Browse files
MoeMagicMangofumiama
authored andcommitted
Update chat.go
1 parent 6939437 commit ed7bbf5

File tree

8 files changed

+441
-198
lines changed

8 files changed

+441
-198
lines changed

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ module github.com/FloatTech/ZeroBot-Plugin
33
go 1.17
44

55
require (
6-
github.com/FloatTech/AnimeAPI v1.3.0-beta6
6+
github.com/FloatTech/AnimeAPI v1.3.0-beta7
77
github.com/FloatTech/sqlite v0.1.0
8-
github.com/FloatTech/zbputils v1.3.0-beta6
8+
github.com/FloatTech/zbputils v1.3.0-beta7
99
github.com/antchfx/htmlquery v1.2.4
1010
github.com/corona10/goimagehash v1.0.3
1111
github.com/fogleman/gg v1.3.0

go.sum

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
github.com/FloatTech/AnimeAPI v1.3.0-beta6 h1:u4I6I4HvIyJZqmRgvPtguvopEenjdxk4fXIjpqzdRyE=
2-
github.com/FloatTech/AnimeAPI v1.3.0-beta6/go.mod h1:MXGvC1Od3MuycW825f7HBaaIO7YPaFjdh+CnJeO7Cmw=
1+
github.com/FloatTech/AnimeAPI v1.3.0-beta7 h1:IdusxP4eFRk3ghU/+4CtAd5xPe0xGa6pK/k2CzlYORM=
2+
github.com/FloatTech/AnimeAPI v1.3.0-beta7/go.mod h1:vqOt05nnc7vwEvAJfnRw37OLmrxoMCzLzDdCBLYknXg=
33
github.com/FloatTech/bot-manager v1.0.0/go.mod h1:8YYRJ16oroGHQGD2En0oVnmcKJkxR9O/jd5BPSfWfOQ=
44
github.com/FloatTech/sqlite v0.1.0 h1:Geh6Z+DWZXmyXVOhM0U2oXT7b1Ob6sQtuyjInk+MCUk=
55
github.com/FloatTech/sqlite v0.1.0/go.mod h1:XS0oeSqtH6lFzpPRiDE9fV6+zMcuUF5/6o+tQVO1QZE=
6-
github.com/FloatTech/zbputils v1.3.0-beta6 h1:dqmsBoC6xnPf05aFr+OA4ru8iqXKktkIxLw6LOUOMnk=
7-
github.com/FloatTech/zbputils v1.3.0-beta6/go.mod h1:P3tTFIIQJs/cijG80jwxrs0NBGISEDkXtrZhiev/eMk=
6+
github.com/FloatTech/zbputils v1.3.0-beta7 h1:An+//viWflHwuG/1Z3NPbUjOO0XNsd60+b0c4vJm9I0=
7+
github.com/FloatTech/zbputils v1.3.0-beta7/go.mod h1:P3tTFIIQJs/cijG80jwxrs0NBGISEDkXtrZhiev/eMk=
88
github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc=
99
github.com/RomiChan/websocket v1.4.3-0.20220123145318-307a86b127bc h1:AAx50/fb/xS4lvsdQg+bFbGvqSDhyV1MF+p2PLCamZ0=
1010
github.com/RomiChan/websocket v1.4.3-0.20220123145318-307a86b127bc/go.mod h1:OMmITAib6POA37xCichWM0aRnoVpSMZO1rB/G01wrr0=

plugin_ai_reply/tts.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import (
55
"github.com/wdvxdr1123/ZeroBot/message"
66

77
"github.com/FloatTech/AnimeAPI/aireply"
8-
"github.com/FloatTech/AnimeAPI/mockingbird"
9-
control "github.com/FloatTech/zbputils/control"
8+
"github.com/FloatTech/AnimeAPI/tts/mockingbird"
9+
"github.com/FloatTech/zbputils/control"
1010
"github.com/FloatTech/zbputils/ctxext"
1111

1212
"github.com/FloatTech/zbputils/control/order"
@@ -20,7 +20,7 @@ func init() {
2020
Handle(func(ctx *zero.Ctx) {
2121
msg := ctx.ExtractPlainText()
2222
r := aireply.NewAIReply(getReplyMode(ctx))
23-
ctx.SendChain(message.Record(mockingbird.Speak(ctx.Event.UserID, func() string {
23+
ctx.SendChain(message.Record(mockingbird.NewMockingBirdTTS(1).Speak(ctx.Event.UserID, func() string {
2424
return r.TalkPlain(msg, zero.BotConfig.NickName[0])
2525
})))
2626
})

plugin_gif/context.go

Lines changed: 42 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@ package gif
33
import (
44
"os"
55
"strconv"
6+
"sync"
67

78
"github.com/FloatTech/zbputils/file"
9+
"github.com/FloatTech/zbputils/img"
810
"github.com/sirupsen/logrus"
911
)
1012

@@ -13,36 +15,51 @@ type context struct {
1315
headimgsdir []string
1416
}
1517

16-
func dlchan(name string, c *chan *string) {
18+
func dlchan(name string, s *string, wg *sync.WaitGroup, exit func(error)) {
19+
defer wg.Done()
1720
target := datapath + `materials/` + name
21+
var err error
1822
if file.IsNotExist(target) {
19-
_ = file.DownloadTo(`https://codechina.csdn.net/u011570312/imagematerials/-/raw/main/`+name, target, true)
23+
err = file.DownloadTo(`https://codechina.csdn.net/u011570312/imagematerials/-/raw/main/`+name, target, true)
24+
if err != nil {
25+
exit(err)
26+
return
27+
}
28+
logrus.Debugln("[gif] dl", name, "to", target, "succeeded")
2029
} else {
21-
logrus.Debugln("[gif] dl", name, "exists")
30+
logrus.Debugln("[gif] dl", name, "exists at", target)
2231
}
23-
*c <- &target
32+
*s = target
2433
}
2534

26-
func dlblock(name string) string {
35+
func dlblock(name string) (string, error) {
2736
target := datapath + `materials/` + name
2837
if file.IsNotExist(target) {
29-
_ = file.DownloadTo(`https://codechina.csdn.net/u011570312/imagematerials/-/raw/main/`+name, target, true)
38+
err := file.DownloadTo(`https://codechina.csdn.net/u011570312/imagematerials/-/raw/main/`+name, target, true)
39+
if err != nil {
40+
return "", err
41+
}
42+
logrus.Debugln("[gif] dl", name, "to", target, "succeeded")
3043
} else {
31-
logrus.Debugln("[gif] dl", name, "exists")
44+
logrus.Debugln("[gif] dl", name, "exists at", target)
3245
}
33-
return target
46+
return target, nil
3447
}
3548

36-
func dlrange(prefix string, end int) *[]chan *string {
49+
func dlrange(prefix string, end int, wg *sync.WaitGroup, exit func(error)) []string {
3750
if file.IsNotExist(datapath + `materials/` + prefix) {
38-
_ = os.MkdirAll(datapath+`materials/`+prefix, 0755)
51+
err := os.MkdirAll(datapath+`materials/`+prefix, 0755)
52+
if err != nil {
53+
exit(err)
54+
return nil
55+
}
3956
}
40-
c := make([]chan *string, end)
57+
c := make([]string, end)
4158
for i := range c {
42-
c[i] = make(chan *string)
43-
go dlchan(prefix+"/"+strconv.Itoa(i)+".png", &c[i])
59+
wg.Add(1)
60+
go dlchan(prefix+"/"+strconv.Itoa(i)+".png", &c[i], wg, exit)
4461
}
45-
return &c
62+
return c
4663
}
4764

4865
// 新的上下文
@@ -55,3 +72,14 @@ func newContext(user int64) *context {
5572
c.headimgsdir[1] = c.usrdir + "1.gif"
5673
return c
5774
}
75+
76+
func LoadFirstFrames(paths []string, size int) (imgs []*img.ImgFactory, err error) {
77+
imgs = make([]*img.ImgFactory, size)
78+
for i := range imgs {
79+
imgs[i], err = img.LoadFirstFrame(paths[i], 0, 0)
80+
if err != nil {
81+
return nil, err
82+
}
83+
}
84+
return imgs, nil
85+
}

0 commit comments

Comments
 (0)