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