diff --git a/src/boost/coop_status_permission.go b/src/boost/coop_status_permission.go index 38362306..72695209 100644 --- a/src/boost/coop_status_permission.go +++ b/src/boost/coop_status_permission.go @@ -111,13 +111,23 @@ func HandleCoopStatusPermissionButton(s *discordgo.Session, i *discordgo.Interac customID := i.MessageComponentData().CustomID respondAndClose := func(content string) { err := s.InteractionRespond(i.Interaction, &discordgo.InteractionResponse{ - Type: discordgo.InteractionResponseUpdateMessage, + Type: discordgo.InteractionResponseDeferredMessageUpdate, Data: &discordgo.InteractionResponseData{ - Content: content, Flags: discordgo.MessageFlagsEphemeral, Components: []discordgo.MessageComponent{}, }, }) + if err != nil { + log.Println("Error acknowledging coop status permission dialog:", err) + return + } + + emptyComponents := []discordgo.MessageComponent{} + edit := discordgo.WebhookEdit{ + Content: &content, + Components: &emptyComponents, + } + _, err = s.FollowupMessageEdit(i.Interaction, i.Message.ID, &edit) if err != nil { log.Println("Error updating coop status permission dialog:", err) } @@ -146,6 +156,6 @@ func HandleCoopStatusPermissionButton(s *discordgo.Session, i *discordgo.Interac respondAndClose("Permission granted for 7 days. You can now run your command again.") case "close": - respondAndClose("Dialog closed. You can enable this permission later when you're ready.") + respondAndClose("I understand") } } diff --git a/src/boost/leaderboard_permission.go b/src/boost/leaderboard_permission.go index 0b10b50a..80fbbb2e 100644 --- a/src/boost/leaderboard_permission.go +++ b/src/boost/leaderboard_permission.go @@ -90,13 +90,23 @@ func HandleLeaderboardPermissionButton(s *discordgo.Session, i *discordgo.Intera customID := i.MessageComponentData().CustomID respondAndClose := func(content string) { err := s.InteractionRespond(i.Interaction, &discordgo.InteractionResponse{ - Type: discordgo.InteractionResponseUpdateMessage, + Type: discordgo.InteractionResponseDeferredMessageUpdate, Data: &discordgo.InteractionResponseData{ - Content: content, Flags: discordgo.MessageFlagsEphemeral, Components: []discordgo.MessageComponent{}, }, }) + if err != nil { + log.Println("Error acknowledging leaderboard permission dialog:", err) + return + } + + emptyComponents := []discordgo.MessageComponent{} + edit := discordgo.WebhookEdit{ + Content: &content, + Components: &emptyComponents, + } + _, err = s.FollowupMessageEdit(i.Interaction, i.Message.ID, &edit) if err != nil { log.Println("Error updating leaderboard permission dialog:", err) } @@ -122,6 +132,6 @@ func HandleLeaderboardPermissionButton(s *discordgo.Session, i *discordgo.Intera respondAndClose("Permission granted permanently. Please run your command again.") case "close": - respondAndClose("Dialog closed.") + respondAndClose("I understand") } }