diff --git a/src/types/api/interaction.ts b/src/types/api/interaction.ts index d9cb62f7c..993409fc9 100644 --- a/src/types/api/interaction.ts +++ b/src/types/api/interaction.ts @@ -1,4 +1,9 @@ -import { DiscordMember } from "./mod.ts"; +import { + DiscordChannel, + DiscordMember, + DiscordRole, + DiscordUser, +} from "./mod.ts"; export interface DiscordInteractionCommand { /** id of the interaction */ @@ -31,8 +36,24 @@ export interface DiscordInteractionData { id: string; /** the name of the invoked command */ name: string; + /** converted users + roles + channels */ + resolved?: DiscordApplicationCommandInteractionDataResolved; /** the params + values from the user */ - options: DiscordInteractionDataOption[]; + options?: DiscordInteractionDataOption[]; +} + +export interface DiscordApplicationCommandInteractionDataResolved { + /** the IDs and User objects */ + users?: Record; + /** the IDs and partial Member objects */ + members?: Record>; + /** the IDs and Role objects */ + roles?: Record; + /** the IDs and partial Channel objects */ + channels?: Record< + string, + Pick + >; } export interface DiscordInteractionDataOption { diff --git a/src/types/api/member.ts b/src/types/api/member.ts index e17403cb0..3eaf32740 100644 --- a/src/types/api/member.ts +++ b/src/types/api/member.ts @@ -83,7 +83,7 @@ export interface DiscordBaseMember { } /** https://discord.com/developers/docs/resources/guild#guild-member-object-guild-member-structure */ -export interface DiscordMember { +export interface DiscordMember extends DiscordBaseMember { /** the user this guild member represents */ user?: DiscordUser; }