diff --git a/src/types/interactions/application_command_interaction_data.ts b/src/types/interactions/application_command_interaction_data.ts index 566b3518a..5074f1c29 100644 --- a/src/types/interactions/application_command_interaction_data.ts +++ b/src/types/interactions/application_command_interaction_data.ts @@ -1,11 +1,14 @@ import { SnakeCasedPropertiesDeep } from "../util.ts"; import { ApplicationCommandInteractionDataOption } from "./application_command_interaction_data_option.ts"; +import { ApplicationCommandInteractionDataResolved } from "./application_command_interaction_data_resolved.ts"; export interface ApplicationCommandInteractionData { /** The Id of the invoked command */ id: string; /** The name of the invoked command */ name: string; + /** Converted users + roles + channels */ + resolved?: ApplicationCommandInteractionDataResolved; /** The params + values from the user */ options?: ApplicationCommandInteractionDataOption[]; } diff --git a/src/types/interactions/application_command_interaction_data_resolved.ts b/src/types/interactions/application_command_interaction_data_resolved.ts new file mode 100644 index 000000000..db967bb97 --- /dev/null +++ b/src/types/interactions/application_command_interaction_data_resolved.ts @@ -0,0 +1,18 @@ +import { Channel } from "../channels/channel.ts"; +import { GuildMember } from "../guilds/guild_member.ts"; +import { Role } from "../permissions/role.ts"; +import { User } from "../users/user.ts"; + +export interface ApplicationCommandInteractionDataResolved { + /** The Ids and User objects */ + users?: Record; + /** The Ids and partial Member objects */ + members?: Record>; + /** The Ids and Role objects */ + roes?: Record; + /** The Ids and partial Channel objects */ + channels?: Record< + string, + Pick + >; +}