package main import ( morningalarm "git.kapelle.org/niklas/morning-alarm/internal" "github.com/alexflint/go-arg" ) type args struct { SpotifyClientID string `arg:"--spotify-client-id,required,env:SPOTIFY_CLIENT_ID" placeholder:"SPOTIFY_CLIENT_ID"` SpotifyClientSecret string `arg:"--spotify-client-secret,required,env:SPOTIFY_CLIENT_SECRET" placeholder:"SPOTIFY_CLIENT_SECRET"` DeviceID string `arg:"--device-id,required,env:SPOTIFY_DEVICE_ID" placeholder:"SPOTIFY_DEVICE_ID" help:"Can be found later in the API"` PlaylistID string `arg:"--playlist-id,required,env:SPOTIFY_PLAYLIST_ID" help:"Just the id" placeholder:"SPOTIFY_PLAYLIST_ID"` RedirectURL string `arg:"--redirect-url,required,env:SPOTIFY_REDIRECT_URL" help:"Must be the same as in the Spotify developer dashboard." placeholder:"SPOTIFY_REDIRECT_URL"` ListenAddr string `arg:"--listen-addr,required,env:LISTEN_ADDR" help:"Address to listen on" placeholder:"LISTEN_ADDR" default:":3000"` } func main() { var args args arg.MustParse(&args) morningalarm.New(morningalarm.MorningAlarmConfig{ SpotifyClientID: args.SpotifyClientID, SpotifyClientSecret: args.SpotifyClientSecret, DeviceID: args.DeviceID, PlaylistID: args.PlaylistID, RedirectURL: args.RedirectURL, ListenAddr: args.ListenAddr, }).Start() }