mcm-discord/main.go

43 lines
1.1 KiB
Go

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("")
}
}