diff --git a/deno/utils/v10.ts b/deno/utils/v10.ts index 7349962a..b4e54e62 100644 --- a/deno/utils/v10.ts +++ b/deno/utils/v10.ts @@ -15,6 +15,7 @@ import type { APIMessageComponentGuildInteraction, APIMessageComponentInteraction, APIMessageComponentSelectMenuInteraction, + APIModalSubmitInteraction, } from '../payloads/v10/mod.ts'; import { ApplicationCommandType, ButtonStyle, ComponentType, InteractionType } from '../payloads/v10/mod.ts'; @@ -114,6 +115,20 @@ export function isInteractionButton(component: APIButtonComponent): component is return ![ButtonStyle.Link, ButtonStyle.Premium].includes(component.style); } +// Modal + +/** + * A type-guard check for modals submit interactions + * + * @param interaction - The interaction to check against + * @returns A boolean that indicates if the interaction is a modal submission + */ +export function isModalSubmitInteraction( + interaction: APIInteraction, +): interaction is APIModalSubmitInteraction { + return interaction.type === InteractionType.ModalSubmit; +} + // Message Components /**