chore: refactor asyncResponse to take a preflight response

This commit is contained in:
41666 2021-08-07 18:04:29 -04:00
parent 26bc74bcbc
commit 76a03c2d2c
3 changed files with 21 additions and 8 deletions

View file

@ -41,7 +41,10 @@ export type CommandHandler = (
) => Promise<InteractionResponse>;
export const asyncResponse =
(handler: CommandHandler): CommandHandler =>
(
handler: CommandHandler,
preflight?: () => InteractionResponse['data']
): CommandHandler =>
async (
command: InteractionRequestCommand,
requestInfo: RequestInfo
@ -55,12 +58,14 @@ export const asyncResponse =
return {
type: InteractionCallbackType.DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE,
data: {
flags: InteractionFlags.EPHEMERAL,
},
data: preflight ? preflight() : undefined,
};
};
export const asyncPreflightEphemeral = () => ({
flags: InteractionFlags.EPHEMERAL,
});
const updateOriginalMessage = async (
appID: string,
token: string,