package config import ( "github.com/caarlos0/env/v8" //"github.com/joho/godotenv" "time" ) type Config struct { TelegramToken string `env:"TELEGRAM_TOKEN,required"` TelegramChannelID int64 `env:"TELEGRAM_CHANNEL_ID,required"` TemplatePath string `env:"TEMPLATE_PATH,required"` HttpRateLimit time.Duration `env:"HTTP_RATE_LIMIT" envDefault:"30s"` HttpAddress string `env:"HTTP_ADDRESS" envDefault:":80"` } // NewConfig - получить конфигурацию приложения из .env func NewConfig(file ...string) (*Config, error) { // if err := godotenv.Load(file...); err != nil { // return nil, err // } var cfg Config if err := env.Parse(&cfg); err != nil { return nil, err } return &cfg, nil }