Skip to content

Commit ce484c7

Browse files
committed
Merge remote-tracking branch 'origin/pppp' into pppp
2 parents 6a7c3e3 + 00119bc commit ce484c7

File tree

1 file changed

+84
-0
lines changed

1 file changed

+84
-0
lines changed

airecord/recordcfg.go

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
// Package airecord 群应用:AI声聊配置
2+
package airecord
3+
4+
import (
5+
"encoding/json"
6+
"fmt"
7+
"os"
8+
"strings"
9+
10+
"github.com/sirupsen/logrus"
11+
)
12+
13+
var (
14+
// RecCfg 语音记录配置
15+
RecCfg recordconfig
16+
configPath = "data/airecord/recordconfig.json" // 配置文件路径
17+
)
18+
19+
func init() {
20+
if err := loadConfig(); err != nil {
21+
logrus.Warnln("[airecord] WARN: 加载配置文件失败,使用默认配置:", err)
22+
} else {
23+
logrus.Infoln("[airecord] 成功从文件加载语音记录配置")
24+
}
25+
}
26+
27+
// recordconfig 存储语音记录相关配置
28+
type recordconfig struct {
29+
ModelName string `json:"modelName"` // 语音模型名称
30+
ModelID string `json:"modelID"` // 语音模型ID
31+
Customgid int64 `json:"customgid"` // 自定义群ID
32+
}
33+
34+
// SetRecordModel 设置语音记录模型
35+
func SetRecordModel(modelName, modelID string) error {
36+
RecCfg.ModelName = modelName
37+
RecCfg.ModelID = modelID
38+
return saveConfig() // 保存配置
39+
}
40+
41+
// SetCustomGID 设置自定义群ID
42+
func SetCustomGID(gid int64) error {
43+
RecCfg.Customgid = gid
44+
return saveConfig() // 保存配置
45+
}
46+
47+
// PrintRecordConfig 生成格式化的语音记录配置信息字符串
48+
func PrintRecordConfig(recCfg recordconfig) string {
49+
var builder strings.Builder
50+
builder.WriteString("当前语音记录配置:\n")
51+
builder.WriteString(fmt.Sprintf("• 语音模型名称:%s\n", recCfg.ModelName))
52+
builder.WriteString(fmt.Sprintf("• 语音模型ID:%s\n", recCfg.ModelID))
53+
builder.WriteString(fmt.Sprintf("• 自定义群ID:%d\n", recCfg.Customgid))
54+
return builder.String()
55+
}
56+
57+
// saveConfig 将配置保存到JSON文件
58+
func saveConfig() error {
59+
data, err := json.MarshalIndent(RecCfg, "", " ")
60+
if err != nil {
61+
logrus.Warnln("ERROR: 序列化配置失败:", err)
62+
return err
63+
}
64+
err = os.WriteFile(configPath, data, 0644)
65+
if err != nil {
66+
logrus.Warnln("ERROR: 写入配置文件失败:", err)
67+
return err
68+
}
69+
return nil
70+
}
71+
72+
// loadConfig 从JSON文件加载配置
73+
func loadConfig() error {
74+
data, err := os.ReadFile(configPath)
75+
if err != nil {
76+
return err
77+
}
78+
err = json.Unmarshal(data, &RecCfg)
79+
if err != nil {
80+
logrus.Warnln("ERROR: 解析配置文件失败:", err)
81+
return err
82+
}
83+
return nil
84+
}

0 commit comments

Comments
 (0)