Skip to content

Commit d3d9a84

Browse files
committed
trying direct reply on unknown interaction
1 parent 22928ca commit d3d9a84

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

cmd/discord/router/context.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,11 +123,16 @@ func (c *routeContext) InteractionResponse(reply common.Reply) (discordgo.Messag
123123
if c.interaction.Type == discordgo.InteractionApplicationCommandAutocomplete {
124124
err := c.rest.SendAutocompleteResponse(ctx, c.interaction.ID, c.interaction.Token, data.Choices)
125125
if errors.Is(err, rest.ErrInteractionAlreadyAcked) {
126-
err = nil
126+
return discordgo.Message{}, nil
127127
}
128128
return discordgo.Message{}, err
129129
}
130-
return c.rest.UpdateInteractionResponse(ctx, c.interaction.AppID, c.interaction.Token, data, files)
130+
msg, err := c.rest.UpdateInteractionResponse(ctx, c.interaction.AppID, c.interaction.Token, data, files)
131+
if errors.Is(err, rest.ErrUnknownInteraction) {
132+
// Discord did not propagate the ack yet
133+
return c.rest.SendInteractionResponse(ctx, c.interaction.ID, c.interaction.Token, discordgo.InteractionResponse{Data: &data, Type: discordgo.InteractionResponseChannelMessageWithSource}, files)
134+
}
135+
return msg, err
131136
})
132137

133138
go c.saveInteractionEvent(msg, err, reply)

0 commit comments

Comments
 (0)