From 32fd2024cf226fc734c6adafcb141cbec79f0845 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E9=94=85=E9=A5=AD?= <1156544355@qq.com> Date: Mon, 7 Jul 2025 23:29:33 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E2=9C=A8=20=E6=B7=BB=E5=8A=A0airecord?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- airecord/recordcfg.go | 87 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 airecord/recordcfg.go diff --git a/airecord/recordcfg.go b/airecord/recordcfg.go new file mode 100644 index 0000000..c76ccaf --- /dev/null +++ b/airecord/recordcfg.go @@ -0,0 +1,87 @@ +package airecord + +import ( + "encoding/json" + "fmt" + "os" + "strings" + + "github.com/sirupsen/logrus" +) + +var ( + recordcfg recordconfig + configPath = "data/airecord/recordconfig.json" // 配置文件路径 +) + +func init() { + if err := loadConfig(); err != nil { + logrus.Warnln("[airecord] WARN: 加载配置文件失败,使用默认配置:", err) + } else { + logrus.Infoln("[airecord] 成功从文件加载语音记录配置") + } +} + +// recordconfig 存储语音记录相关配置 +type recordconfig struct { + ModelName string `json:"modelName"` // 语音模型名称 + ModelID string `json:"modelID"` // 语音模型ID + Customgid int64 `json:"customgid"` // 自定义群ID +} + +// GetRecordConfig 返回当前语音记录配置信息 +func GetRecordConfig() recordconfig { + return recordcfg +} + +// SetRecordModel 设置语音记录模型 +func SetRecordModel(modelName, modelID string) { + recordcfg.ModelName = modelName + recordcfg.ModelID = modelID + saveConfig() // 保存配置 +} + +// SetCustomGID 设置自定义群ID +func SetCustomGID(gid int64) { + recordcfg.Customgid = gid + saveConfig() // 保存配置 +} + +// PrintRecordConfig 生成格式化的语音记录配置信息字符串 +func PrintRecordConfig(recCfg recordconfig) string { + var builder strings.Builder + builder.WriteString("当前语音记录配置:\n") + builder.WriteString(fmt.Sprintf("• 语音模型名称:%s\n", recCfg.ModelName)) + builder.WriteString(fmt.Sprintf("• 语音模型ID:%s\n", recCfg.ModelID)) + builder.WriteString(fmt.Sprintf("• 自定义群ID:%d\n", recCfg.Customgid)) + return builder.String() +} + +// saveConfig 将配置保存到JSON文件 +func saveConfig() error { + data, err := json.MarshalIndent(recordcfg, "", " ") + if err != nil { + logrus.Warnln("ERROR: 序列化配置失败:", err) + return err + } + err = os.WriteFile(configPath, data, 0644) + if err != nil { + logrus.Warnln("ERROR: 写入配置文件失败:", err) + return err + } + return nil +} + +// loadConfig 从JSON文件加载配置 +func loadConfig() error { + data, err := os.ReadFile(configPath) + if err != nil { + return err + } + err = json.Unmarshal(data, &recordcfg) + if err != nil { + logrus.Warnln("ERROR: 解析配置文件失败:", err) + return err + } + return nil +} From d7b7d0c61cd352384c9feee2a013784abbf9b69a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E9=94=85=E9=A5=AD?= <1156544355@qq.com> Date: Mon, 7 Jul 2025 23:34:53 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=90=9B=20=E4=BF=AE=E6=94=B9lint?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- airecord/recordcfg.go | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/airecord/recordcfg.go b/airecord/recordcfg.go index c76ccaf..0cd8504 100644 --- a/airecord/recordcfg.go +++ b/airecord/recordcfg.go @@ -1,3 +1,4 @@ +// Package airecord 群应用:AI声聊配置 package airecord import ( @@ -10,7 +11,8 @@ import ( ) var ( - recordcfg recordconfig + // RecCfg 语音记录配置 + RecCfg recordconfig configPath = "data/airecord/recordconfig.json" // 配置文件路径 ) @@ -29,22 +31,17 @@ type recordconfig struct { Customgid int64 `json:"customgid"` // 自定义群ID } -// GetRecordConfig 返回当前语音记录配置信息 -func GetRecordConfig() recordconfig { - return recordcfg -} - // SetRecordModel 设置语音记录模型 -func SetRecordModel(modelName, modelID string) { - recordcfg.ModelName = modelName - recordcfg.ModelID = modelID - saveConfig() // 保存配置 +func SetRecordModel(modelName, modelID string) error { + RecCfg.ModelName = modelName + RecCfg.ModelID = modelID + return saveConfig() // 保存配置 } // SetCustomGID 设置自定义群ID -func SetCustomGID(gid int64) { - recordcfg.Customgid = gid - saveConfig() // 保存配置 +func SetCustomGID(gid int64) error { + RecCfg.Customgid = gid + return saveConfig() // 保存配置 } // PrintRecordConfig 生成格式化的语音记录配置信息字符串 @@ -59,7 +56,7 @@ func PrintRecordConfig(recCfg recordconfig) string { // saveConfig 将配置保存到JSON文件 func saveConfig() error { - data, err := json.MarshalIndent(recordcfg, "", " ") + data, err := json.MarshalIndent(RecCfg, "", " ") if err != nil { logrus.Warnln("ERROR: 序列化配置失败:", err) return err @@ -78,7 +75,7 @@ func loadConfig() error { if err != nil { return err } - err = json.Unmarshal(data, &recordcfg) + err = json.Unmarshal(data, &RecCfg) if err != nil { logrus.Warnln("ERROR: 解析配置文件失败:", err) return err