qq_bot/config/config.go
2025-03-24 11:29:05 +08:00

54 lines
1.1 KiB
Go

package config
import (
"os"
"gopkg.in/yaml.v3"
)
var ConfigManager = &configManager{}
type Config struct {
Admin int64 `yaml:"admin"`
SteamApiKey string `yaml:"steam_api_key"`
ProxyAddr string `yaml:"proxy_addr"`
NapcatWsSrv string `yaml:"napcat_ws_srv"`
NapcatHttpSrv string `yaml:"napcat_http_srv"`
OpenaiApiKey string `yaml:"openai_api_key"`
OpenaiApiBaseUrl string `yaml:"openai_api_base_url"`
OpenaiModelName string `yaml:"openai_model_name"`
OpenaiPrompt string `yaml:"openai_prompt"`
WebServer struct {
Token string `yaml:"token"`
} `yaml:"web_server"`
}
func init() {
err := ConfigManager.LoadConfig("config.yml")
if err != nil {
panic(err)
}
}
type configManager struct {
// propertys map[string]string
config *Config
}
func (cm *configManager) LoadConfig(path string) error {
data, err := os.ReadFile(path)
if err != nil {
return err
}
err = yaml.Unmarshal(data, &cm.config)
if err != nil {
return err
}
return nil
}
func (cm *configManager) GetConfig() *Config {
return cm.config
}