Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 42 additions & 8 deletions plugin/cybercat/catdata.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,17 +60,51 @@
Picurl string // 猫猫图片
}

func (inf *catInfo) avatar() string {
nti, err := pool.NewNTImage(inf.Picurl)
if err != nil {
return inf.Picurl
}
return nti.String()
func (c *catInfo) avatar(Gid int64) string {
cache := "data/cybercat/cache" // 指定缓存路径
cache = path.Join(engine.DataFolder(), "cache")

Check failure on line 65 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, arm64)

undefined: path

Check failure on line 65 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, arm)

undefined: path

Check failure on line 65 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, amd64)

undefined: path

Check failure on line 65 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, 386)

undefined: path

Check failure on line 65 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (windows, amd64)

undefined: path

Check failure on line 65 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / lint

undefined: path
imgname := fmt.Sprintf("%d_%d", c.User, Gid)

Check failure on line 66 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, arm64)

undefined: fmt

Check failure on line 66 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, arm)

undefined: fmt

Check failure on line 66 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, amd64)

undefined: fmt

Check failure on line 66 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, 386)

undefined: fmt

Check failure on line 66 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (windows, amd64)

undefined: fmt

Check failure on line 66 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / lint

undefined: fmt
imgfile := filepath.Join(cache, c.Type+imgname+".png")

Check failure on line 67 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, arm64)

undefined: filepath

Check failure on line 67 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, arm)

undefined: filepath

Check failure on line 67 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, amd64)

undefined: filepath

Check failure on line 67 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, 386)

undefined: filepath

Check failure on line 67 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (windows, amd64)

undefined: filepath

Check failure on line 67 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / lint

undefined: filepath
aimgfile := filepath.Join(file.BOTPATH, imgfile)

Check failure on line 68 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, arm64)

undefined: file

Check failure on line 68 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, arm64)

undefined: filepath

Check failure on line 68 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, arm)

undefined: file

Check failure on line 68 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, arm)

undefined: filepath

Check failure on line 68 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, amd64)

undefined: file

Check failure on line 68 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, amd64)

undefined: filepath

Check failure on line 68 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, 386)

undefined: file

Check failure on line 68 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, 386)

undefined: filepath

Check failure on line 68 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (windows, amd64)

undefined: file

Check failure on line 68 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (windows, amd64)

undefined: filepath

Check failure on line 68 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / lint

undefined: file

Check failure on line 68 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / lint

undefined: filepath

if _, err := os.Stat(cache); os.IsNotExist(err) {

Check failure on line 70 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, arm64)

undefined: os

Check failure on line 70 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, arm)

undefined: os

Check failure on line 70 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, amd64)

undefined: os

Check failure on line 70 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, 386)

undefined: os

Check failure on line 70 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (windows, amd64)

undefined: os

Check failure on line 70 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / lint

undefined: os
err := os.MkdirAll(cache, 0755)

Check failure on line 71 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, arm64)

undefined: os

Check failure on line 71 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, arm)

undefined: os

Check failure on line 71 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, amd64)

undefined: os

Check failure on line 71 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, 386)

undefined: os

Check failure on line 71 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (windows, amd64)

undefined: os

Check failure on line 71 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / lint

undefined: os
if err != nil {
fmt.Println("Error creating cache directory:", err)

Check failure on line 73 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, arm64)

undefined: fmt

Check failure on line 73 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, arm)

undefined: fmt

Check failure on line 73 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, amd64)

undefined: fmt

Check failure on line 73 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, 386)

undefined: fmt

Check failure on line 73 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (windows, amd64)

undefined: fmt

Check failure on line 73 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / lint

undefined: fmt
return err.Error()
}
}
if file.IsNotExist(aimgfile) {

Check failure on line 77 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, arm64)

undefined: file

Check failure on line 77 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, arm)

undefined: file

Check failure on line 77 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, amd64)

undefined: file

Check failure on line 77 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, 386)

undefined: file

Check failure on line 77 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (windows, amd64)

undefined: file

Check failure on line 77 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / lint

undefined: file
breed := c.Type
data, err := web.GetData(apiURL + "search?has_breeds=" + breed)
if err != nil {
fmt.Println("Error fetching avatar URL:", err)
return err.Error() // 返回错误信息
}
imgurl := gjson.ParseBytes(data).Get("0.url").String()
imgdata, err := web.GetData(imgurl)
if err != nil {
return "错误:未能解析图片URL"
}
var f *os.File
f, err = os.Create(aimgfile) // 使用 aimgfile 作为文件路径
if err != nil {
fmt.Println("Error creating file:", err)
return err.Error() // 返回错误信息
}
defer f.Close()
_, err = f.Write([]byte(imgdata)) // 写入图片数据
if err != nil {
fmt.Println("Error writing file:", err)
return err.Error() // 返回错误信息
}
}
return "file:///" + aimgfile // 返回文件协议的完整路径
}

var (
catdata = &catdb{
db: &sql.Sqlite{},
dbpath = "data/cybercat/catdata.db"
catdata = &catdb{db: sql.New(dbpath),

Check failure on line 107 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, arm64)

undefined: sql.New

Check failure on line 107 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, arm)

undefined: sql.New

Check failure on line 107 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, amd64)

undefined: sql.New

Check failure on line 107 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (linux, 386)

undefined: sql.New

Check failure on line 107 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / Build binary CI (windows, amd64)

undefined: sql.New

Check failure on line 107 in plugin/cybercat/catdata.go

View workflow job for this annotation

GitHub Actions / lint

undefined: sql.New
}
engine = control.Register("cybercat", &ctrl.Options[*zero.Ctx]{
DisableOnDefault: false,
Expand Down
3 changes: 2 additions & 1 deletion plugin/cybercat/keepcat.go
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,7 @@ func init() {
userInfo.LastTime = time.Now().Unix()
userInfo.Mood += int(userInfo.Satiety)/5 - int(userInfo.Weight)/10
userInfo = userInfo.settleOfData()
avatarResult := userInfo.avatar(ctx.Event.GroupID)
if err = catdata.insert(gidStr, &userInfo); err != nil {
ctx.SendChain(message.Text("[ERROR]:", err))
return
Expand All @@ -165,7 +166,7 @@ func init() {
stauts = "完全没有饱"
}
ctx.SendChain(message.Reply(id), message.Text(userInfo.Name, "当前信息如下:\n"),
message.Image(userInfo.avatar()),
message.Image(avatarResult),
message.Text("品种: "+userInfo.Type,
"\n饱食度: ", strconv.FormatFloat(userInfo.Satiety, 'f', 0, 64),
"\n心情: ", userInfo.Mood,
Expand Down
Loading