BuilderUtils
O que é a classe BuilderUtils?
A classe BuilderUtils
fornece uma série de métodos úteis para construir e validar componentes do Discord, como embeds, botões, menus de seleção e mais. Ela facilita a criação e o gerenciamento de elementos de interface de forma eficiente e prática.
Exemplos de Uso
1. Validar um customId
Você pode validar um customId para garantir que ele segue o formato correto.
const customId = 'meu_id_custom';
const isValid = BuilderUtils.validateCustomId(customId);
console.log(isValid); // Retorna true ou false
2. Criar um embed
Crie um embed com opções personalizadas.
const embedOptions = {
title: 'Título do Embed',
description: 'Descrição do Embed',
color: 0x00ff00,
footer: 'Rodapé do Embed'
};
const embed = BuilderUtils.createEmbed(embedOptions);
// Use o embed com outros métodos ou APIs
3. Criar um botão
Crie um botão com propriedades personalizadas.
const buttonOptions = {
label: 'Clique aqui',
customId: 'botao_id',
style: ButtonStyle.Primary,
emoji: '👍'
};
const button = BuilderUtils.createButton(buttonOptions);
// Adicione o botão a uma ActionRow e envie
4. Criar um menu de seleção
Crie um menu de seleção com várias opções.
const menuOptions = {
customId: 'menu_id',
placeholder: 'Selecione uma opção...',
options: [
{ label: 'Opção 1', value: '1', description: 'Primeira opção' },
{ label: 'Opção 2', value: '2', description: 'Segunda opção' }
]
};
const selectMenu = BuilderUtils.createSelectMenu(menuOptions);
// Adicione o menu a uma ActionRow e envie
5. Criar um seletor de usuários
Crie um seletor para selecionar usuários.
const userSelectOptions = {
customId: 'user_select_id',
placeholder: 'Selecione um usuário...',
disabled: false, // Optional
minOptions: 1, // Optional
maxOptions: 1, // Optional
defaultValues: ["Role1", "Role2"] // Optional
};
const userSelect = BuilderUtils.createUserSelect(userSelectOptions);
// Adicione o seletor a uma ActionRow e envie
6. Criar um seletor de cargos
Crie um seletor para selecionar cargos.
const roleSelectOptions = {
customId: 'user_select_id',
placeholder: 'Selecione um usuário...',
disabled: false, // Optional
minOptions: 1, // Optional
maxOptions: 1, // Optional
defaultValues: ["Role1", "Role2"] // Optional
};
const roleSelect = BuilderUtils.createRoleSelect(roleSelectOptions);
// Adicione o seletor a uma ActionRow e envie
7. Criar um seletor de canais
Crie um seletor para selecionar usuários.
const userSelectOptions = {
customId: 'user_select_id',
placeholder: 'Selecione um usuário...',
disabled: false, // Optional
minOptions: 1, // Optional
maxOptions: 1, // Optional
channelTypes: ["text", 4],
defaultValues: ["Role1", "Role2"] // Optional
};
const userSelect = BuilderUtils.createUserSelect(userSelectOptions);
// Adicione o seletor a uma ActionRow e envie
A opção channelTypes suporta tanto números, quanto strings, abaixo tem uma lista de todos os tipos validos.
- Text: 0 (Canais de texto tradicionais)
- DM: 1 (Mensagens diretas)
- Voice: 2 (Canais de voz)
- GroupDM: 3 (Mensagens diretas em grupo)
- Category: 4 (Categorias de canais)
- Announcement: 5 (Canais de anúncios)
- AnnouncementThread: 10 (Threads de anúncios)
- PublicThread: 11 (Threads públicas)
- PrivateThread: 12 (Threads privadas)
- Stage: 13 (Canais de palco)
- Directory: 14 (Canais de diretório de servidor)
- Forum: 15 (Canais de fórum)
8. Criar um modal
Crie um modal de perguntas.
const modalOptions = {
customId: 'formulario_id_unico',
title: 'Cadastro de Usuário',
inputs: [
{
customId: 'nome',
label: 'Seu nome',
style: TextInputStyle.Short,
required: true
},
{
customId: 'descricao',
label: 'Descrição',
style: TextInputStyle.Paragraph,
required: false,
value: 'Escreva algo sobre você...'
}
]
};
const modal = BuilderUtils.createModal(modalOptions);
// Enviar o modal para o usuário
interaction.showModal(modal);
Descrição das Opções
- customId: Um ID único para identificar o modal.
- inputs: Uma lista de campos de entrada contendo:
- customId: O ID único para o campo.
- label: O rótulo exibido para o campo.
- style: O estilo do campo (
TextInputStyle.Short
ouTextInputStyle.Paragraph
). - required: Indica se o campo é obrigatório (padrão:
true
). - value: (Opcional) Valor padrão preenchido no campo.
- title: O título exibido no topo do modal (padrão:
'Formulário'
).
9. Criar uma action row
Crie um grupo de componentes.
const row = BuilderUtils.createActionRow([componentes])
return row