Skip to content

Commit

Permalink
types(SelectMenu): allow default values for automatically populated m…
Browse files Browse the repository at this point in the history
  • Loading branch information
TTtie committed Dec 11, 2023
1 parent 23a85c6 commit 6ae2f4d
Showing 1 changed file with 19 additions and 2 deletions.
21 changes: 19 additions & 2 deletions index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -164,9 +164,9 @@ declare namespace Dysnomia {
type MessageContentEdit = string | AdvancedMessageContent<"isMessageEdit">;
type MFALevel = Constants["MFALevels"][keyof Constants["MFALevels"]];
type PossiblyUncachedMessage = Message | { 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<Constants["ComponentTypes"], "STRING_SELECT" | "USER_SELECT" | "ROLE_SELECT" | "MENTIONABLE_SELECT" | "CHANNEL_SELECT">];
type SelectMenuExtendedTypes = Constants["ComponentTypes"][keyof Pick<Constants["ComponentTypes"], "STRING_SELECT" | "CHANNEL_SELECT">];
type SelectMenuExtendedTypes = Constants["ComponentTypes"][keyof Pick<Constants["ComponentTypes"], "STRING_SELECT" | "CHANNEL_SELECT" | "ROLE_SELECT" | "USER_SELECT" | "MENTIONABLE_SELECT">];


// Permission
Expand Down Expand Up @@ -1447,6 +1447,7 @@ declare namespace Dysnomia {
}
interface ChannelSelectMenu extends SelectMenuBase {
channel_types?: GuildChannelTypes[];
default_values?: SelectMenuDefaultValue<"channel">[];
type: Constants["ComponentTypes"]["CHANNEL_SELECT"];
}
interface CreateStickerOptions extends Required<Pick<EditStickerOptions, "name" | "tags" | "description">> {
Expand All @@ -1463,6 +1464,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;
}
Expand All @@ -1478,6 +1491,10 @@ declare namespace Dysnomia {
options: SelectMenuOptions[];
type: Constants["ComponentTypes"]["STRING_SELECT"];
}
interface SelectMenuDefaultValue<Type extends ("any" | "user" | "role" | "channel") = "any"> {
id: string;
type: Type extends "any" ? ("user" | "role" | "channel") : Type;
}
interface SelectMenuOptions {
default?: boolean;
description?: string;
Expand Down

0 comments on commit 6ae2f4d

Please sign in to comment.