Removal procedure for slash commands example (#1103)
Remove commands on exit.
This commit is contained in:
parent
0b48d46eef
commit
4cc53b7ed4
1 changed files with 27 additions and 3 deletions
|
@ -363,24 +363,48 @@ func init() {
|
|||
|
||||
func main() {
|
||||
s.AddHandler(func(s *discordgo.Session, r *discordgo.Ready) {
|
||||
log.Println("Bot is up!")
|
||||
log.Printf("Logged in as: %v#%v", s.State.User.Username, s.State.User.Discriminator)
|
||||
})
|
||||
err := s.Open()
|
||||
if err != nil {
|
||||
log.Fatalf("Cannot open the session: %v", err)
|
||||
}
|
||||
|
||||
for _, v := range commands {
|
||||
_, err := s.ApplicationCommandCreate(s.State.User.ID, *GuildID, v)
|
||||
log.Println("Adding commands...")
|
||||
registeredCommands := make([]*discordgo.ApplicationCommand, len(commands))
|
||||
for i, v := range commands {
|
||||
cmd, err := s.ApplicationCommandCreate(s.State.User.ID, *GuildID, v)
|
||||
if err != nil {
|
||||
log.Panicf("Cannot create '%v' command: %v", v.Name, err)
|
||||
}
|
||||
registeredCommands[i] = cmd
|
||||
}
|
||||
|
||||
defer s.Close()
|
||||
|
||||
stop := make(chan os.Signal, 1)
|
||||
signal.Notify(stop, os.Interrupt)
|
||||
log.Println("Press Ctrl+C to exit")
|
||||
<-stop
|
||||
|
||||
if *RemoveCommands {
|
||||
log.Println("Removing commands...")
|
||||
// // We need to fetch the commands, since deleting requires the command ID.
|
||||
// // We are doing this from the returned commands on line 375, because using
|
||||
// // this will delete all the commands, which might not be desirable, so we
|
||||
// // are deleting only the commands that we added.
|
||||
// registeredCommands, err := s.ApplicationCommands(s.State.User.ID, *GuildID)
|
||||
// if err != nil {
|
||||
// log.Fatalf("Could not fetch registered commands: %v", err)
|
||||
// }
|
||||
|
||||
for _, v := range registeredCommands {
|
||||
err := s.ApplicationCommandDelete(s.State.User.ID, *GuildID, v.ID)
|
||||
if err != nil {
|
||||
log.Panicf("Cannot delete '%v' command: %v", v.Name, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
log.Println("Gracefully shutdowning")
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue