mirror of
https://github.com/roleypoly/roleypoly.git
synced 2025-04-24 19:39:11 +00:00
chore: refactor asyncResponse to take a preflight response
This commit is contained in:
parent
26bc74bcbc
commit
76a03c2d2c
3 changed files with 21 additions and 8 deletions
|
@ -1,5 +1,8 @@
|
|||
import { selectRole } from '@roleypoly/interactions/utils/api';
|
||||
import { asyncResponse } from '@roleypoly/interactions/utils/interactions';
|
||||
import {
|
||||
asyncPreflightEphemeral,
|
||||
asyncResponse,
|
||||
} from '@roleypoly/interactions/utils/interactions';
|
||||
import { invalid, mustBeInGuild } from '@roleypoly/interactions/utils/responses';
|
||||
import {
|
||||
InteractionCallbackType,
|
||||
|
@ -78,5 +81,6 @@ export const pickRole = (mode: 'add' | 'remove') =>
|
|||
flags: InteractionFlags.EPHEMERAL,
|
||||
},
|
||||
};
|
||||
}
|
||||
},
|
||||
asyncPreflightEphemeral
|
||||
);
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
import { getPickableRoles } from '@roleypoly/interactions/utils/api';
|
||||
import { uiPublicURI } from '@roleypoly/interactions/utils/config';
|
||||
import { asyncResponse } from '@roleypoly/interactions/utils/interactions';
|
||||
import {
|
||||
asyncPreflightEphemeral,
|
||||
asyncResponse,
|
||||
} from '@roleypoly/interactions/utils/interactions';
|
||||
import { mustBeInGuild } from '@roleypoly/interactions/utils/responses';
|
||||
import {
|
||||
CategoryType,
|
||||
|
@ -55,5 +58,6 @@ export const pickableRoles = asyncResponse(
|
|||
],
|
||||
},
|
||||
};
|
||||
}
|
||||
},
|
||||
asyncPreflightEphemeral
|
||||
);
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Add table
Reference in a new issue