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.

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

9. Criar uma action row

Crie um grupo de componentes.


const row = BuilderUtils.createActionRow([componentes])
return row