123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- package main
- import (
- "flag"
- "fmt"
- "github.com/bwmarrin/discordgo"
- )
- var (
- Email string
- Password string
- Token string
- AppName string
- ConvToken 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(&DeleteID, "d", "", "Application ID to delete")
- flag.BoolVar(&ListOnly, "l", false, "List Applications Only")
- flag.StringVar(&AppName, "a", "", "App/Bot Name")
- flag.StringVar(&ConvToken, "c", "", "Token of account to convert.")
- flag.Parse()
- }
- func main() {
- // Create a new Discord session using the provided login information.
- dg, err := discordgo.New(Email, Password, Token)
- if err != nil {
- fmt.Println("error creating Discord session,", err)
- return
- }
- // If -l set, only display a list of existing applications
- // for the given account.
- if ListOnly {
- 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)
- }
- return
- }
- // if -d set, delete the given Application
- if DeleteID != "" {
- err := dg.ApplicationDelete(DeleteID)
- if err != nil {
- fmt.Println("error deleting application,", err)
- }
- return
- }
- // Create a new application.
- ap := &discordgo.Application{}
- ap.Name = AppName
- ap, err = dg.ApplicationCreate(ap)
- if err != nil {
- fmt.Println("error creating new applicaiton,", err)
- return
- }
- 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)
- // Create the bot account under the application we just created
- // If ConvToken is set, then this will convert an existing account
- // into a bot account under the application we just created.
- bot, err := dg.ApplicationBotCreate(ap.ID, ConvToken)
- if err != nil {
- fmt.Println("error creating bot account,", err)
- return
- }
- 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)
- 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
- }
|