yammerbot_legacy/config.go

39 lines
777 B
Go

package main
import (
"errors"
"github.com/spf13/viper"
)
type Config struct {
Token string
MumbleHost string
MumblePort string
MumblePing int
}
func LoadConfig() (*Config, error) {
viper.SetConfigName("yammerbot")
viper.AddConfigPath("/etc/yammerbot")
viper.AddConfigPath(".")
err := viper.ReadInConfig()
if err != nil {
return nil, err
}
viper.SetConfigType("yaml")
c := &Config{}
viper.SetDefault("port", "64738")
viper.SetDefault("ping_time", 3)
//Load configs
c.Token = viper.GetString("token")
c.MumbleHost = viper.GetString("host")
c.MumblePort = viper.GetString("port")
c.MumblePing = viper.GetInt("ping_time")
if c.Token == "" || c.MumbleHost == "" {
return nil, errors.New("Config has missing necesary values")
}
return c, nil
}