birthdaybot/model/config.go

37 lines
693 B
Go
Raw Normal View History

2023-06-29 22:46:17 +01:00
package model
import (
"io/ioutil"
"gopkg.in/yaml.v3"
)
type Config struct {
BirthdayFile string `yaml:"birthday_file"`
TelegramNotifications *TelegramNotificationsConfig `yaml:"telegram_notifications"`
}
type TelegramNotificationsConfig struct {
BotToken string `yaml:"bot_token"`
ChannelID string `yaml:"channel_id"`
}
// ToDo: to be implemented
func (c *Config) IsValid() error {
return nil
2023-06-29 22:46:17 +01:00
}
func ReadConfig(path string) (*Config, error) {
fileBytes, err := ioutil.ReadFile(path)
if err != nil {
return nil, err
}
var config *Config
if err := yaml.Unmarshal(fileBytes, &config); err != nil {
return nil, err
}
return config, nil
}