52 lines
1.1 KiB
Go
52 lines
1.1 KiB
Go
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)
|
|
}
|
|
}
|