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
- Nome: Define o nome do comando.
- Descrição: Explica o propósito do comando.
- Aliases: Atalhos para o comando principal.
- Opções: Argumentos adicionais para o comando.
- Execução: Função executada quando o comando é chamado.
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());