From 5e4698495c43fcba10da9f2cdac1b2df5d387637 Mon Sep 17 00:00:00 2001 From: Layla Date: Sun, 18 Jun 2023 08:04:18 +0000 Subject: [PATCH] Bugfix: Allow for longer command execution times --- discord/command.go | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/discord/command.go b/discord/command.go index e7a6f19..e415264 100644 --- a/discord/command.go +++ b/discord/command.go @@ -52,11 +52,18 @@ func (discord *Discord) RegisterCommand(name string, config common.ChatCommandCo } } + session.InteractionRespond(r.Interaction, &discordgo.InteractionResponse{ + Type: discordgo.InteractionResponseDeferredChannelMessageWithSource, + Data: &discordgo.InteractionResponseData{ + Flags: discordgo.MessageFlagsEphemeral, + }, + }) + result := handler(NewUser(r.Member.User), optionsMap) if result != "" { // Handle response - responseData := &discordgo.InteractionResponseData{ + responseData := &discordgo.WebhookParams{ Content: result, } @@ -64,11 +71,12 @@ func (discord *Discord) RegisterCommand(name string, config common.ChatCommandCo responseData.Flags = discordgo.MessageFlagsEphemeral } - session.InteractionRespond(r.Interaction, &discordgo.InteractionResponse{ - Type: discordgo.InteractionResponseChannelMessageWithSource, - Data: responseData, - }) + session.FollowupMessageCreate(r.Interaction, false, responseData) + } else { + session.FollowupMessageCreate(r.Interaction, false, &discordgo.WebhookParams{ + Content: "Command did not return a response!", + }) log.Printf("Command '%s' did not return a response: %v", name, optionsMap) } }