// package config -- конфигурация для клиента package config import ( "encoding/json" "log" "os" "wartank/desktop/bot" ) // Config -- конфигурация для клиента type Config struct { Host_ string `json:"host"` // Хост Login_ string `json:"login"` // Логин Pass_ string `json:"password"` // Пароль DictBot_ map[string]*bot.Bot `json:"list_bots"` // Список ботов } // NewConfig -- возвращает новый конфиг func NewConfig() *Config { sf := &Config{ DictBot_: map[string]*bot.Bot{}, } sf.load() return sf } // Save -- сохраняет конфиг по требованию func (sf *Config) Save() { binData, _ := json.MarshalIndent(sf, "", "\t") err := os.WriteFile("./config.json", binData, 0600) if err != nil { log.Printf("Config.Save(): err=%v", err) } } // Загружает конфиг при старте func (sf *Config) load() { binData, err := os.ReadFile("./config.json") if err != nil { return } err = json.Unmarshal(binData, sf) if err != nil { return } }