package utils import ( "encoding/json" "os" "fmt" ) type Config struct { IRCServer string `json:"irc_server"` IRCPort int `json:"irc_port"` SSL bool `json:"ssl"` Nickname string `json:"nickname"` Channels []string `json:"channels"` GeoIP_City string `json:"geoip_city"` GeoIP_ASN string `json:"geoip_asn"` Callback bool `json:"callback"` Debug bool `json:"debug"` } func LoadConfig(file string) (Config, error) { var config Config configFile, err := os.Open(file) if err != nil { return config, fmt.Errorf("error opening config file: %v", err) } defer configFile.Close() err = json.NewDecoder(configFile).Decode(&config) if err != nil { return config, fmt.Errorf("error decoding config file: %v", err) } return config, nil }