Skip to content

Commit 926d87d

Browse files
authored
fix lint
1 parent 48ebcd2 commit 926d87d

1 file changed

Lines changed: 19 additions & 21 deletions

File tree

plugin/pig/pig.go

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ package pigpig
44
import (
55
"encoding/base64"
66
"encoding/json"
7+
"errors" // 【新增】引入 errors 库
78
"fmt"
89
"math/rand"
910
"path/filepath"
@@ -44,17 +45,17 @@ var (
4445
func init() {
4546
engine = control.AutoRegister(&ctrl.Options[*zero.Ctx]{
4647
DisableOnDefault: false,
47-
Brief: "随机/搜索猪猪表情包",
48+
Brief: "来份猪猪",
4849
Help: "- 随机猪猪:随机发送一张猪猪表情\n- 搜索猪猪 [关键词]:搜索相关猪猪\n- 猪猪id [id]:精确查找",
49-
PublicDataFolder: "Pig",
50+
PrivateDataFolder: "Pig",
5051
})
5152

5253
engine.OnRegex(`^随机猪猪$`).SetBlock(true).Handle(handleRandomPig)
5354
engine.OnRegex(`^搜索猪猪\s+(.+)$`).SetBlock(true).Handle(handleSearchPig)
5455
engine.OnRegex(`^猪猪id\s+(\d+)$`).SetBlock(true).Handle(handlePigByID)
5556
}
5657

57-
// checkAndUpdateData 检查并更新数据 (读取 pig_data.json)
58+
// checkAndUpdateData 检查并更新数据
5859
func checkAndUpdateData(ctx *zero.Ctx) error {
5960
pigMutex.Lock()
6061
defer pigMutex.Unlock()
@@ -71,16 +72,16 @@ func checkAndUpdateData(ctx *zero.Ctx) error {
7172
// 读取根目录下的 pig_data.json
7273
dataBytes, err := engine.GetLazyData("pig_data.json", true)
7374
if err != nil {
74-
return fmt.Errorf("读取数据文件失败: %v", err)
75+
return errors.New("读取数据文件失败: " + err.Error())
7576
}
7677

7778
var data PigResponse
7879
if err := json.Unmarshal(dataBytes, &data); err != nil {
79-
return fmt.Errorf("解析JSON失败: %v", err)
80+
return errors.New("解析JSON失败: " + err.Error())
8081
}
8182

8283
if len(data.Images) == 0 {
83-
return fmt.Errorf("数据文件为空")
84+
return errors.New("数据文件为空")
8485
}
8586

8687
pigCache = data.Images
@@ -96,19 +97,16 @@ func checkAndUpdateData(ctx *zero.Ctx) error {
9697
// fetchImageLazy 按需从 assets 文件夹获取图片并转为 Base64
9798
func fetchImageLazy(img PigImage) (string, error) {
9899
if img.Filename == "" {
99-
return "", fmt.Errorf("图片数据异常,缺少文件名")
100+
return "", errors.New("图片数据异常,缺少文件名")
100101
}
101102

102-
// 【核心逻辑】拼接 assets 子目录
103-
// JSON 里的 Filename 是 "2072.jpg"
104-
// 实际在仓库里的路径是 "Pig/assets/2072.jpg"
105-
// GetLazyData 会自动在前加上 "Pig/",传 "assets/2072.jpg"
103+
// 拼接 assets 子目录
106104
targetPath := filepath.Join("assets", img.Filename)
107105

108106
// false 表示优先使用本地文件,不强制从网络拉取
109107
imgData, err := engine.GetLazyData(targetPath, false)
110108
if err != nil {
111-
return "", fmt.Errorf("图片资源缺失 (%s): %v", targetPath, err)
109+
return "", errors.New("图片资源缺失 (" + targetPath + "): " + err.Error())
112110
}
113111

114112
return "base64://" + base64.StdEncoding.EncodeToString(imgData), nil
@@ -117,15 +115,15 @@ func fetchImageLazy(img PigImage) (string, error) {
117115
// handleRandomPig 处理随机猪猪
118116
func handleRandomPig(ctx *zero.Ctx) {
119117
if err := checkAndUpdateData(ctx); err != nil {
120-
ctx.SendChain(message.Text("❌ 获取数据失败: ", err))
118+
ctx.SendChain(message.Text("[Pig] ERROR: ", err, "\nEXP: 随机猪猪失败,获取数据错误"))
121119
return
122120
}
123121

124122
pigMutex.RLock()
125123
defer pigMutex.RUnlock()
126124

127125
if len(pigCache) == 0 {
128-
ctx.SendChain(message.Text("暂无猪猪数据"))
126+
ctx.SendChain(message.Text("[Pig] ERROR: 暂无猪猪数据,请联系管理员"))
129127
return
130128
}
131129

@@ -134,7 +132,7 @@ func handleRandomPig(ctx *zero.Ctx) {
134132

135133
b64Image, err := fetchImageLazy(target)
136134
if err != nil {
137-
ctx.SendChain(message.Text("❌ 图片加载失败: ", err))
135+
ctx.SendChain(message.Text("[Pig] ERROR: ", err, "\nEXP: 图片加载失败"))
138136
return
139137
}
140138

@@ -150,7 +148,7 @@ func handleSearchPig(ctx *zero.Ctx) {
150148
keyword = strings.TrimSpace(keyword)
151149

152150
if err := checkAndUpdateData(ctx); err != nil {
153-
ctx.SendChain(message.Text("❌ 获取数据失败: ", err))
151+
ctx.SendChain(message.Text("[Pig] ERROR: ", err, "\nEXP: 搜索猪猪失败,获取数据错误"))
154152
return
155153
}
156154

@@ -166,7 +164,7 @@ func handleSearchPig(ctx *zero.Ctx) {
166164
}
167165

168166
if len(results) == 0 {
169-
ctx.SendChain(message.Text(fmt.Sprintf("❌ 未找到包含“%s”的猪猪。", keyword)))
167+
ctx.SendChain(message.Text("[Pig] ERROR: 未找到包含“", keyword, "”的猪猪"))
170168
return
171169
}
172170

@@ -187,7 +185,7 @@ func handleSearchPig(ctx *zero.Ctx) {
187185

188186
b64Image, err := fetchImageLazy(results[0])
189187
if err != nil {
190-
ctx.SendChain(message.Text(sb.String() + "\n❌ 图片加载失败: " + err.Error()))
188+
ctx.SendChain(message.Text(sb.String(), "\n\n[Pig] ERROR: ", err, "\nEXP: 图片加载失败"))
191189
return
192190
}
193191

@@ -202,7 +200,7 @@ func handlePigByID(ctx *zero.Ctx) {
202200
targetID := ctx.State["regex_matched"].([]string)[1]
203201

204202
if err := checkAndUpdateData(ctx); err != nil {
205-
ctx.SendChain(message.Text("❌ 获取数据失败: ", err))
203+
ctx.SendChain(message.Text("[Pig] ERROR: ", err, "\nEXP: 精确查找失败,获取数据错误"))
206204
return
207205
}
208206

@@ -219,13 +217,13 @@ func handlePigByID(ctx *zero.Ctx) {
219217
}
220218

221219
if target == nil {
222-
ctx.SendChain(message.Text(fmt.Sprintf("❌ 未找到 ID 为 %s 的猪猪。", targetID)))
220+
ctx.SendChain(message.Text("[Pig] ERROR: 未找到 ID 为 ", targetID, " 的猪猪"))
223221
return
224222
}
225223

226224
b64Image, err := fetchImageLazy(*target)
227225
if err != nil {
228-
ctx.SendChain(message.Text("❌ 图片加载失败: ", err))
226+
ctx.SendChain(message.Text("[Pig] ERROR: ", err, "\nEXP: 图片加载失败"))
229227
return
230228
}
231229

0 commit comments

Comments
 (0)