57 lines
1.1 KiB
Go
57 lines
1.1 KiB
Go
package config
|
|
|
|
import (
|
|
"os"
|
|
|
|
"gopkg.in/yaml.v3"
|
|
)
|
|
|
|
var ConfigManager = &configManager{}
|
|
|
|
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 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
|
|
}
|