diff --git a/index.d.ts b/index.d.ts index ff6ae1d7..70556721 100644 --- a/index.d.ts +++ b/index.d.ts @@ -154,9 +154,9 @@ declare namespace Dysnomia { type MessageContent = string | AdvancedMessageContent; type MFALevel = Constants["MFALevels"][keyof Constants["MFALevels"]]; type PossiblyUncachedMessage = Message | { author?: User | Uncached; channel: TextableChannel | { id: string; guild?: Uncached }; guildID?: string; id: string }; - type SelectMenu = BaseSelectMenu | ChannelSelectMenu | StringSelectMenu; + type SelectMenu = BaseSelectMenu | ChannelSelectMenu | StringSelectMenu | UserSelectMenu | RoleSelectMenu | MentionableSelectMenu; type SelectMenuTypes = Constants["ComponentTypes"][keyof Pick]; - type SelectMenuExtendedTypes = Constants["ComponentTypes"][keyof Pick]; + type SelectMenuExtendedTypes = Constants["ComponentTypes"][keyof Pick]; // Permission @@ -1364,6 +1364,7 @@ declare namespace Dysnomia { } interface ChannelSelectMenu extends SelectMenuBase { channel_types?: GuildChannelTypes[]; + default_values?: SelectMenuDefaultValue<"channel">[]; type: Constants["ComponentTypes"]["CHANNEL_SELECT"]; } interface CreateStickerOptions extends Required> { @@ -1380,6 +1381,18 @@ declare namespace Dysnomia { name?: string; tags?: string; } + interface MentionableSelectMenu extends SelectMenuBase { + default_values?: SelectMenuDefaultValue<"any">[]; + type: Constants["ComponentTypes"]["MENTIONABLE_SELECT"]; + } + interface RoleSelectMenu extends SelectMenuBase { + default_values?: SelectMenuDefaultValue<"role">[]; + type: Constants["ComponentTypes"]["ROLE_SELECT"]; + } + interface UserSelectMenu extends SelectMenuBase { + default_values?: SelectMenuDefaultValue<"user">[]; + type: Constants["ComponentTypes"]["USER_SELECT"]; + } interface BaseSelectMenu extends SelectMenuBase { type: BaseSelectMenuTypes; } @@ -1395,6 +1408,10 @@ declare namespace Dysnomia { options: SelectMenuOptions[]; type: Constants["ComponentTypes"]["STRING_SELECT"]; } + interface SelectMenuDefaultValue { + id: string; + type: Type extends "any" ? ("user" | "role" | "channel") : Type; + } interface SelectMenuOptions { default?: boolean; description?: string;