diff --git a/deno/payloads/v8/_interactions/autocomplete.ts b/deno/payloads/v8/_interactions/autocomplete.ts index 30813f47..4de90f03 100644 --- a/deno/payloads/v8/_interactions/autocomplete.ts +++ b/deno/payloads/v8/_interactions/autocomplete.ts @@ -1,6 +1,30 @@ -import type { APIBaseInteraction, APIChatInputApplicationCommandInteractionData, InteractionType } from '../mod.ts'; +import type { + APIBaseInteraction, + APIChatInputApplicationCommandInteractionData, + APIDMInteractionWrapper, + APIGuildInteractionWrapper, + InteractionType, +} from '../mod.ts'; export type APIApplicationCommandAutocompleteInteraction = APIBaseInteraction< InteractionType.ApplicationCommandAutocomplete, APIChatInputApplicationCommandInteractionData ->; +> & + Required< + Pick< + APIBaseInteraction, + 'data' + > + >; + +/** + * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object + */ +export type APIApplicationCommandAutocompleteDMInteraction = + APIDMInteractionWrapper; + +/** + * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object + */ +export type APIApplicationCommandAutocompleteGuildInteraction = + APIGuildInteractionWrapper; diff --git a/deno/payloads/v8/interactions.ts b/deno/payloads/v8/interactions.ts index 25b02883..916580ab 100644 --- a/deno/payloads/v8/interactions.ts +++ b/deno/payloads/v8/interactions.ts @@ -9,7 +9,11 @@ import type { APIApplicationCommandGuildInteraction, APIApplicationCommandInteraction, } from './_interactions/applicationCommands.ts'; -import type { APIApplicationCommandAutocompleteInteraction } from './_interactions/autocomplete.ts'; +import type { + APIApplicationCommandAutocompleteDMInteraction, + APIApplicationCommandAutocompleteGuildInteraction, + APIApplicationCommandAutocompleteInteraction, +} from './_interactions/autocomplete.ts'; import type { APIModalSubmitDMInteraction, APIModalSubmitGuildInteraction, @@ -39,6 +43,7 @@ export type APIInteraction = export type APIDMInteraction = | APIApplicationCommandDMInteraction | APIMessageComponentDMInteraction + | APIApplicationCommandAutocompleteDMInteraction | APIModalSubmitDMInteraction; /** @@ -47,4 +52,5 @@ export type APIDMInteraction = export type APIGuildInteraction = | APIApplicationCommandGuildInteraction | APIMessageComponentGuildInteraction + | APIApplicationCommandAutocompleteGuildInteraction | APIModalSubmitGuildInteraction; diff --git a/deno/payloads/v9/_interactions/autocomplete.ts b/deno/payloads/v9/_interactions/autocomplete.ts index 30813f47..4de90f03 100644 --- a/deno/payloads/v9/_interactions/autocomplete.ts +++ b/deno/payloads/v9/_interactions/autocomplete.ts @@ -1,6 +1,30 @@ -import type { APIBaseInteraction, APIChatInputApplicationCommandInteractionData, InteractionType } from '../mod.ts'; +import type { + APIBaseInteraction, + APIChatInputApplicationCommandInteractionData, + APIDMInteractionWrapper, + APIGuildInteractionWrapper, + InteractionType, +} from '../mod.ts'; export type APIApplicationCommandAutocompleteInteraction = APIBaseInteraction< InteractionType.ApplicationCommandAutocomplete, APIChatInputApplicationCommandInteractionData ->; +> & + Required< + Pick< + APIBaseInteraction, + 'data' + > + >; + +/** + * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object + */ +export type APIApplicationCommandAutocompleteDMInteraction = + APIDMInteractionWrapper; + +/** + * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object + */ +export type APIApplicationCommandAutocompleteGuildInteraction = + APIGuildInteractionWrapper; diff --git a/deno/payloads/v9/interactions.ts b/deno/payloads/v9/interactions.ts index 25b02883..916580ab 100644 --- a/deno/payloads/v9/interactions.ts +++ b/deno/payloads/v9/interactions.ts @@ -9,7 +9,11 @@ import type { APIApplicationCommandGuildInteraction, APIApplicationCommandInteraction, } from './_interactions/applicationCommands.ts'; -import type { APIApplicationCommandAutocompleteInteraction } from './_interactions/autocomplete.ts'; +import type { + APIApplicationCommandAutocompleteDMInteraction, + APIApplicationCommandAutocompleteGuildInteraction, + APIApplicationCommandAutocompleteInteraction, +} from './_interactions/autocomplete.ts'; import type { APIModalSubmitDMInteraction, APIModalSubmitGuildInteraction, @@ -39,6 +43,7 @@ export type APIInteraction = export type APIDMInteraction = | APIApplicationCommandDMInteraction | APIMessageComponentDMInteraction + | APIApplicationCommandAutocompleteDMInteraction | APIModalSubmitDMInteraction; /** @@ -47,4 +52,5 @@ export type APIDMInteraction = export type APIGuildInteraction = | APIApplicationCommandGuildInteraction | APIMessageComponentGuildInteraction + | APIApplicationCommandAutocompleteGuildInteraction | APIModalSubmitGuildInteraction; diff --git a/payloads/v8/_interactions/autocomplete.ts b/payloads/v8/_interactions/autocomplete.ts index aec0a617..71c48f97 100644 --- a/payloads/v8/_interactions/autocomplete.ts +++ b/payloads/v8/_interactions/autocomplete.ts @@ -1,6 +1,30 @@ -import type { APIBaseInteraction, APIChatInputApplicationCommandInteractionData, InteractionType } from '../index'; +import type { + APIBaseInteraction, + APIChatInputApplicationCommandInteractionData, + APIDMInteractionWrapper, + APIGuildInteractionWrapper, + InteractionType, +} from '../index'; export type APIApplicationCommandAutocompleteInteraction = APIBaseInteraction< InteractionType.ApplicationCommandAutocomplete, APIChatInputApplicationCommandInteractionData ->; +> & + Required< + Pick< + APIBaseInteraction, + 'data' + > + >; + +/** + * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object + */ +export type APIApplicationCommandAutocompleteDMInteraction = + APIDMInteractionWrapper; + +/** + * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object + */ +export type APIApplicationCommandAutocompleteGuildInteraction = + APIGuildInteractionWrapper; diff --git a/payloads/v8/interactions.ts b/payloads/v8/interactions.ts index 4951d244..b8c9b666 100644 --- a/payloads/v8/interactions.ts +++ b/payloads/v8/interactions.ts @@ -9,7 +9,11 @@ import type { APIApplicationCommandGuildInteraction, APIApplicationCommandInteraction, } from './_interactions/applicationCommands'; -import type { APIApplicationCommandAutocompleteInteraction } from './_interactions/autocomplete'; +import type { + APIApplicationCommandAutocompleteDMInteraction, + APIApplicationCommandAutocompleteGuildInteraction, + APIApplicationCommandAutocompleteInteraction, +} from './_interactions/autocomplete'; import type { APIModalSubmitDMInteraction, APIModalSubmitGuildInteraction, @@ -39,6 +43,7 @@ export type APIInteraction = export type APIDMInteraction = | APIApplicationCommandDMInteraction | APIMessageComponentDMInteraction + | APIApplicationCommandAutocompleteDMInteraction | APIModalSubmitDMInteraction; /** @@ -47,4 +52,5 @@ export type APIDMInteraction = export type APIGuildInteraction = | APIApplicationCommandGuildInteraction | APIMessageComponentGuildInteraction + | APIApplicationCommandAutocompleteGuildInteraction | APIModalSubmitGuildInteraction; diff --git a/payloads/v9/_interactions/autocomplete.ts b/payloads/v9/_interactions/autocomplete.ts index aec0a617..71c48f97 100644 --- a/payloads/v9/_interactions/autocomplete.ts +++ b/payloads/v9/_interactions/autocomplete.ts @@ -1,6 +1,30 @@ -import type { APIBaseInteraction, APIChatInputApplicationCommandInteractionData, InteractionType } from '../index'; +import type { + APIBaseInteraction, + APIChatInputApplicationCommandInteractionData, + APIDMInteractionWrapper, + APIGuildInteractionWrapper, + InteractionType, +} from '../index'; export type APIApplicationCommandAutocompleteInteraction = APIBaseInteraction< InteractionType.ApplicationCommandAutocomplete, APIChatInputApplicationCommandInteractionData ->; +> & + Required< + Pick< + APIBaseInteraction, + 'data' + > + >; + +/** + * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object + */ +export type APIApplicationCommandAutocompleteDMInteraction = + APIDMInteractionWrapper; + +/** + * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object + */ +export type APIApplicationCommandAutocompleteGuildInteraction = + APIGuildInteractionWrapper; diff --git a/payloads/v9/interactions.ts b/payloads/v9/interactions.ts index 4951d244..b8c9b666 100644 --- a/payloads/v9/interactions.ts +++ b/payloads/v9/interactions.ts @@ -9,7 +9,11 @@ import type { APIApplicationCommandGuildInteraction, APIApplicationCommandInteraction, } from './_interactions/applicationCommands'; -import type { APIApplicationCommandAutocompleteInteraction } from './_interactions/autocomplete'; +import type { + APIApplicationCommandAutocompleteDMInteraction, + APIApplicationCommandAutocompleteGuildInteraction, + APIApplicationCommandAutocompleteInteraction, +} from './_interactions/autocomplete'; import type { APIModalSubmitDMInteraction, APIModalSubmitGuildInteraction, @@ -39,6 +43,7 @@ export type APIInteraction = export type APIDMInteraction = | APIApplicationCommandDMInteraction | APIMessageComponentDMInteraction + | APIApplicationCommandAutocompleteDMInteraction | APIModalSubmitDMInteraction; /** @@ -47,4 +52,5 @@ export type APIDMInteraction = export type APIGuildInteraction = | APIApplicationCommandGuildInteraction | APIMessageComponentGuildInteraction + | APIApplicationCommandAutocompleteGuildInteraction | APIModalSubmitGuildInteraction; diff --git a/tests/v9/interactions.test-d.ts b/tests/v9/interactions.test-d.ts index bdb14484..9fc06638 100644 --- a/tests/v9/interactions.test-d.ts +++ b/tests/v9/interactions.test-d.ts @@ -2,6 +2,7 @@ import { expectType } from 'tsd'; import { APIApplicationCommandInteraction, APIApplicationCommandInteractionData, + APIChatInputApplicationCommandInteractionData, APIDMInteraction, APIGuildInteraction, APIInteraction, @@ -38,6 +39,10 @@ if (interaction.type === InteractionType.MessageComponent) { } } +if (interaction.type === InteractionType.ApplicationCommandAutocomplete) { + expectType(interaction.data); +} + if (interaction.type === InteractionType.ModalSubmit) { expectType(interaction.data); }