types(ButtonMessageOptions): make button/link button typings more specific (#6212)

* types(ButtonMessageOptions): make button typings more specific

* Update typings/index.d.ts

Co-authored-by: Tristan Guichaoua <33934311+tguichaoua@users.noreply.github.com>

Co-authored-by: Tristan Guichaoua <33934311+tguichaoua@users.noreply.github.com>
This commit is contained in:
Suneet Tipirneni
2021-07-31 07:59:58 -04:00
committed by GitHub
parent 434e330754
commit 77c72e625f

17
typings/index.d.ts vendored
View File

@@ -3803,15 +3803,24 @@ export interface MessageActivity {
export type MessageAdditions = MessageEmbed | MessageAttachment | (MessageEmbed | MessageAttachment)[];
export interface MessageButtonOptions extends BaseMessageComponentOptions {
customId?: string;
export interface BaseButtonOptions extends BaseMessageComponentOptions {
disabled?: boolean;
emoji?: EmojiIdentifierResolvable;
label?: string;
style: MessageButtonStyleResolvable;
url?: string;
}
export type MessageButtonOptions = BaseButtonOptions &
(
| {
style: Exclude<MessageButtonStyleResolvable, 'LINK' | MessageButtonStyles.LINK>;
customId: string;
}
| {
style: 'LINK' | MessageButtonStyles.LINK;
url: string;
}
);
export type MessageButtonStyle = keyof typeof MessageButtonStyles;
export type MessageButtonStyleResolvable = MessageButtonStyle | MessageButtonStyles;