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 Jan 9, 2024
1 parent 940ec4a commit fd8413e
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 @@ -167,9 +167,9 @@ declare namespace Dysnomia {
type MessageContentEdit = string | AdvancedMessageContent<"isMessageEdit">;
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<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 @@ -1465,6 +1465,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 @@ -1481,6 +1482,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 @@ -1496,6 +1509,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 fd8413e

Please sign in to comment.