afk/main.go

43 lines
1.0 KiB
Go

package main
import (
"flag"
"os"
_ "github.com/Tnze/go-mc/data/lang/en-us"
"github.com/peterbourgon/ff/v3"
"github.com/peterbourgon/ff/v3/fftoml"
"github.com/rs/zerolog"
"github.com/rs/zerolog/log"
)
func main() {
log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr})
zerolog.SetGlobalLevel(zerolog.InfoLevel)
fs := flag.NewFlagSet("afk", flag.ExitOnError)
tokenFlag := fs.String("token", "", "Minecraft bearer token")
ipFlag := fs.String("ip", "", "Server IP")
discordFlag := fs.String("discord", "", "Discord bot token")
debugFlag := fs.Bool("debug", false, "Debug Logging")
if err := ff.Parse(fs, os.Args[1:],
ff.WithEnvVarPrefix("AFK"),
ff.WithConfigFileFlag("config"),
ff.WithAllowMissingConfigFile(true),
ff.WithConfigFileParser(fftoml.New().Parse),
); err != nil {
log.Err(err).Msg("")
return
}
if *debugFlag {
zerolog.SetGlobalLevel(zerolog.DebugLevel)
}
client, err := NewClient(*tokenFlag, *ipFlag, *discordFlag)
if err != nil {
log.Fatal().Err(err).Msg("")
}
client.Run()
}