Przeglądaj źródła

Clean up example.

Remove the email/pass login option.  Change display to show all fields
of the Bot/App struct.
Bruce 8 lat temu
rodzic
commit
d1c23ecb09
1 zmienionych plików z 30 dodań i 25 usunięć
  1. 30 25
      examples/appmaker/main.go

+ 30 - 25
examples/appmaker/main.go

@@ -1,38 +1,42 @@
 package main
 
 import (
+	"encoding/json"
 	"flag"
 	"fmt"
+	"os"
 
 	"github.com/bwmarrin/discordgo"
 )
 
 // Variables used for command line options
 var (
-	Email    string
-	Password string
 	Token    string
-	AppName  string
+	Name     string
 	DeleteID string
 	ListOnly bool
 )
 
 func init() {
 
-	flag.StringVar(&Email, "e", "", "Account Email")
-	flag.StringVar(&Password, "p", "", "Account Password")
-	flag.StringVar(&Token, "t", "", "Account Token")
+	flag.StringVar(&Token, "t", "", "Owner Account Token")
+	flag.StringVar(&Name, "n", "", "Name to give App/Bot")
 	flag.StringVar(&DeleteID, "d", "", "Application ID to delete")
 	flag.BoolVar(&ListOnly, "l", false, "List Applications Only")
-	flag.StringVar(&AppName, "a", "", "App/Bot Name")
 	flag.Parse()
+
+	if Token == "" {
+		flag.Usage()
+		os.Exit(1)
+	}
 }
 
 func main() {
 
 	var err error
+
 	// Create a new Discord session using the provided login information.
-	dg, err := discordgo.New(Email, Password, Token)
+	dg, err := discordgo.New(Token)
 	if err != nil {
 		fmt.Println("error creating Discord session,", err)
 		return
@@ -41,18 +45,17 @@ func main() {
 	// If -l set, only display a list of existing applications
 	// for the given account.
 	if ListOnly {
-		aps, err2 := dg.Applications()
-		if err2 != nil {
+
+		aps, err := dg.Applications()
+		if err != nil {
 			fmt.Println("error fetching applications,", err)
 			return
 		}
 
-		for k, v := range aps {
-			fmt.Printf("%d : --------------------------------------\n", k)
-			fmt.Printf("ID: %s\n", v.ID)
-			fmt.Printf("Name: %s\n", v.Name)
-			fmt.Printf("Secret: %s\n", v.Secret)
-			fmt.Printf("Description: %s\n", v.Description)
+		for _, v := range aps {
+			fmt.Println("-----------------------------------------------------")
+			b, _ := json.MarshalIndent(v, "", " ")
+			fmt.Println(string(b))
 		}
 		return
 	}
@@ -66,9 +69,14 @@ func main() {
 		return
 	}
 
+	if Name == "" {
+		flag.Usage()
+		os.Exit(1)
+	}
+
 	// Create a new application.
 	ap := &discordgo.Application{}
-	ap.Name = AppName
+	ap.Name = Name
 	ap, err = dg.ApplicationCreate(ap)
 	if err != nil {
 		fmt.Println("error creating new applicaiton,", err)
@@ -76,9 +84,8 @@ func main() {
 	}
 
 	fmt.Printf("Application created successfully:\n")
-	fmt.Printf("ID: %s\n", ap.ID)
-	fmt.Printf("Name: %s\n", ap.Name)
-	fmt.Printf("Secret: %s\n\n", ap.Secret)
+	b, _ := json.MarshalIndent(ap, "", " ")
+	fmt.Println(string(b))
 
 	// Create the bot account under the application we just created
 	bot, err := dg.ApplicationBotCreate(ap.ID)
@@ -88,11 +95,9 @@ func main() {
 	}
 
 	fmt.Printf("Bot account created successfully.\n")
-	fmt.Printf("ID: %s\n", bot.ID)
-	fmt.Printf("Username: %s\n", bot.Username)
-	fmt.Printf("Token: %s\n\n", bot.Token)
+	b, _ = json.MarshalIndent(bot, "", " ")
+	fmt.Println(string(b))
+
 	fmt.Println("Please save the above posted info in a secure place.")
 	fmt.Println("You will need that information to login with your bot account.")
-
-	return
 }