PrefixCommand

O que é a classe PrefixCommand?

A classe PrefixCommand é usada para criar comandos baseados em prefixos no Discord (como !comando ou -comando). Ela permite configurar o nome, descrição, aliases (atalhos), opções e a função que será executada quando o comando for chamado.

Configurando um Comando

Veja abaixo como configurar um comando básico com esta classe.


// Exemplo básico de criação de comando com prefixo
const { PrefixCommand } = require("simple-discord-lib");

const pingCommand = new PrefixCommand()
  .setName("ping")
  .setDescription("Responde com 'Pong!'")
  .setExecute((message, bot) => {
    message.reply("Pong!");
  });

console.log(pingCommand.toJSON());
    

Setando o prefixo no bot

Veja abaixo como configurar o prefixo do seu bot.


// Exemplo básico de criação de comando com prefixo
const { Bot } = require("simple-discord-lib");

const bot = new Bot("YOUR_BOT_TOKEN")
bot.setPrefix(".")
console.log(bot.prefix)
    

Exemplos de Uso

Definindo Nome e Descrição

Os métodos setName e setDescription são usados para configurar o nome e a descrição do comando.


// Configurando nome e descrição
const command = new PrefixCommand()
  .setName("ban")
  .setDescription("Bane um usuário do servidor.");
      

Adicionando Aliases

Os aliases são atalhos para o comando principal. Você pode adicioná-los com o método addAlias.


// Adicionando aliases
command.addAlias("block").addAlias("banir");
      

Adicionando Opções

Você pode adicionar opções personalizadas ao comando para configurar argumentos ou parâmetros.


// Adicionando opções
command.addOption({
  name: "user",
  description: "Usuário a ser banido",
});

command.addOption({
  name: "reason",
  description: "Motivo do banimento",
});
      

Definindo a Função de Execução

O método setExecute é usado para definir o que o comando fará quando chamado.


// Definindo a execução do comando
command.setExecute((message) => {
  const user = message.getArgument(0);
  const reason = message.getArgument(1).join(" ") || "Motivo não especificado.";

  if (!user) return message.reply("Por favor, mencione um usuário para banir.");
  message.reply(`${user} foi banido por: ${reason}`);
});
      

Características da Classe

Exemplo Completo

Veja um exemplo completo de como criar e usar um comando com a classe PrefixCommand:


const { PrefixCommand } = require("simple-discord-lib");

const kickCommand = new PrefixCommand()
  .setName("kick")
  .setDescription("Expulsa um usuário do servidor.")
  .addAlias("expulsar")
  .addOption({
    name: "user",
    description: "Usuário a ser expulso",
  })
  .addOption({
    name: "reason",
    description: "Motivo da expulsão",
  })
  .setExecute((message) => {
    const user = message.getArgument(0);
    const reason = message.getArgument(1) || "Motivo não especificado.";

    if (!user) return message.reply("Por favor, mencione um usuário para expulsar.");
    message.reply(`${user} foi expulso por: ${reason}`);
  });

console.log(kickCommand.toJSON());