package main import ( "os" "git.netflux.io/rob/esbot/internal/http" "git.netflux.io/rob/esbot/internal/lang" "github.com/rs/zerolog" "github.com/rs/zerolog/log" ) func main() { logger := log.Output(zerolog.ConsoleWriter{Out: os.Stdout}) accessToken := os.Getenv("ACCESS_TOKEN") if accessToken == "" { logger.Fatal().Msg("missing ACCESS_TOKEN") } listenAddr := os.Getenv("LISTEN_ADDR") if listenAddr == "" { logger.Fatal().Msg("missing LISTEN_ADDR") } baseURL := os.Getenv("BASE_URL") if baseURL == "" { logger.Fatal().Msg("missing BASE_URL") } user := os.Getenv("MATRIX_USER") if user == "" { logger.Fatal().Msg("missing MATRIX_USER") } verbsFile := os.Getenv("VERBS_FILE") if verbsFile == "" { logger.Fatal().Msg("missing VERBS_FILE") } insecureTLS := os.Getenv("INSECURE_TLS") == "yes" if n, err := lang.Load(verbsFile); err == nil { logger.Info().Msgf("Loaded %d verbs", n) } else { logger.Fatal().Msgf("could not initialize languages: %v", err) } if err := http.ListenAndServe(listenAddr, baseURL, user, accessToken, insecureTLS, logger); err != nil { panic(err) } }