package main import ( "github.com/bwmarrin/discordgo" "strconv" ) func MessageHandler(s *discordgo.Session, m *discordgo.MessageCreate) { if m.Author.ID == s.State.User.ID { return } if m.Content == "test" { s.ChannelMessageSend(m.ChannelID, "werkt") } } func CommandHandler(s *discordgo.Session, i *discordgo.InteractionCreate) { data := i.ApplicationCommandData() switch data.Name { case "init": AddServer(i.GuildID, s) case "test1": err := s.InteractionRespond( i.Interaction, &discordgo.InteractionResponse{ Type: discordgo.InteractionResponseChannelMessageWithSource, Data: &discordgo.InteractionResponseData{ TTS: true, Content: "Hello world!", }, }, ) if err != nil { // Handle the error } case "read_back": err := s.InteractionRespond( i.Interaction, &discordgo.InteractionResponse{ Type: discordgo.InteractionResponseChannelMessageWithSource, Data: &discordgo.InteractionResponseData{ TTS: true, Content: data.Options[0].Value.(string), }, }, ) if err != nil { // Handle the error } case "delete": amount, _ := strconv.Atoi(data.Options[0].Value.(string)) if amount > 100 { amount = 100 } messages, err := s.ChannelMessages(i.ChannelID, amount, "", "", "") if err != nil { return } err = s.InteractionRespond( i.Interaction, &discordgo.InteractionResponse{ Type: discordgo.InteractionResponseChannelMessageWithSource, Data: &discordgo.InteractionResponseData{ TTS: true, Content: "deleting " + strconv.Itoa(len(messages)) + " messages", }, }, ) message, err := s.ChannelMessageSend(i.ChannelID, "Please hold....") if err != nil { // Handle the error } for _, message := range messages { s.ChannelMessageDelete(i.ChannelID, message.ID) println(message.Content + " deleted") } s.ChannelMessageEdit(i.ChannelID, message.ID, strconv.Itoa(len(messages))+" Message deleted") } }