package main import ( "flag" "log" "os" "os/signal" "github.com/bwmarrin/discordgo" ) var ( Token = flag.String("token", "", "Bot authentication token") App = flag.String("app", "", "Application ID") Guild = flag.String("guild", "", "Guild ID") // Do we want it to be tied to one server? ) func main() { flag.Parse() if *App == "" { log.Fatal("application id is not set") } err := parseConfigs() if err != nil { log.Fatal(err) } startBot() } func startBot() { session, _ := discordgo.New("Bot " + *Token) err := session.Open() if err != nil { log.Fatalf("could not open session: %s", err) } sigch := make(chan os.Signal, 1) signal.Notify(sigch, os.Interrupt) <-sigch log.Printf("shutting down gracefully...") err = session.Close() if err != nil { log.Printf("could not close session gracefully: %s", err) } }