1package discordgo_test
2
3import (
4	"log"
5	"os"
6
7	"github.com/bwmarrin/discordgo"
8)
9
10func ExampleApplication() {
11
12	// Authentication Token pulled from environment variable DGU_TOKEN
13	Token := os.Getenv("DGU_TOKEN")
14	if Token == "" {
15		return
16	}
17
18	// Create a new Discordgo session
19	dg, err := discordgo.New(Token)
20	if err != nil {
21		log.Println(err)
22		return
23	}
24
25	// Create an new Application
26	ap := &discordgo.Application{}
27	ap.Name = "TestApp"
28	ap.Description = "TestDesc"
29	ap, err = dg.ApplicationCreate(ap)
30	log.Printf("ApplicationCreate: err: %+v, app: %+v\n", err, ap)
31
32	// Get a specific Application by it's ID
33	ap, err = dg.Application(ap.ID)
34	log.Printf("Application: err: %+v, app: %+v\n", err, ap)
35
36	// Update an existing Application with new values
37	ap.Description = "Whooooa"
38	ap, err = dg.ApplicationUpdate(ap.ID, ap)
39	log.Printf("ApplicationUpdate: err: %+v, app: %+v\n", err, ap)
40
41	// create a new bot account for this application
42	bot, err := dg.ApplicationBotCreate(ap.ID)
43	log.Printf("BotCreate: err: %+v, bot: %+v\n", err, bot)
44
45	// Get a list of all applications for the authenticated user
46	apps, err := dg.Applications()
47	log.Printf("Applications: err: %+v, apps : %+v\n", err, apps)
48	for k, v := range apps {
49		log.Printf("Applications: %d : %+v\n", k, v)
50	}
51
52	// Delete the application we created.
53	err = dg.ApplicationDelete(ap.ID)
54	log.Printf("Delete: err: %+v\n", err)
55
56	return
57}
58