Marcos Susaña 89c43eb3a5
Top level declarations (#56)
* chore(): declarations

* fixes

* fix a jk

* fix components

* fix
2022-07-15 18:03:23 +00:00

45 lines
1.1 KiB
TypeScript

import { type ButtonStyles, type DiscordButtonComponent, MessageComponentTypes } from "../../../../discordeno/mod.ts";
import type { ComponentEmoji } from "../../../Util.ts";
export class ButtonBuilder {
constructor() {
this.#data = {} as DiscordButtonComponent;
this.type = MessageComponentTypes.Button;
}
#data: DiscordButtonComponent;
type: MessageComponentTypes.Button;
setStyle(style: ButtonStyles) {
this.#data.style = style;
return this;
}
setLabel(label: string): ButtonBuilder {
this.#data.label = label;
return this;
}
setCustomId(id: string): ButtonBuilder {
this.#data.custom_id = id;
return this;
}
setEmoji(emoji: ComponentEmoji): ButtonBuilder {
this.#data.emoji = emoji;
return this;
}
setDisabled(disabled = true): ButtonBuilder {
this.#data.disabled = disabled;
return this;
}
setURL(url: string): ButtonBuilder {
this.#data.url = url;
return this;
}
toJSON(): DiscordButtonComponent {
return { ...this.#data, type: this.type };
}
}