package main import ( "flag" "fmt" "os" "git.jojodev.com/minecraft/mcm-discord/database" "git.jojodev.com/minecraft/mcm-discord/discord" "git.jojodev.com/minecraft/mcm-discord/socket" "github.com/peterbourgon/ff/v3" "github.com/rs/zerolog" "github.com/rs/zerolog/log" ) func main() { log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr}) fs := flag.NewFlagSet("mcm-discord", flag.ExitOnError) dns := flag.String("dns", "", "MariaDB DNS") port := flag.Int("port", 8080, "Port to listen on") pluginPort := flag.Int("plugin-port", 0, "Plugin port for socket connection") publicKey := fs.String("public-ket", "", "App public key") appID := fs.String("app-id", "", "App ID") botToken := fs.String("bot-token", "", "Bot token") if err := ff.Parse(fs, os.Args[1:], ff.WithEnvVarPrefix("MCM")); err != nil { log.Fatal().Err(err).Msg("") } store, err := database.New(*dns) if err != nil { log.Fatal().Err(err).Msg("") } sock := &socket.Socket{Port: *pluginPort} mux := discord.New(store, sock, *publicKey, *appID, *botToken) if err := mux.Mux.ListenAndServe(fmt.Sprintf(":%d", *port)); err != nil { log.Fatal().Err(err).Msg("") } }