Slash commands vs prefix commands no bot Discord
O Discord mudou a forma como bots recebem comandos. Slash commands são o padrão oficial, mas prefix commands ainda funcionam. Entenda quando usar cada um e como migrar.
O que são cada tipo de comando
Existem duas formas principais de um usuário interagir com um bot Discord via texto:
- Slash commands: o usuário digita / e o Discord exibe a lista de comandos disponíveis com autocomplete e descrições dos parâmetros
- Prefix commands: o usuário digita um prefixo como ! ou . seguido do nome do comando (ex: !ban, .ajuda)
Além dos dois, existem também componentes de interação (botões, menus, modais) que fazem parte do sistema de slash commands mas são ainda mais ricos em funcionalidade.
Slash commands
Slash commands são a abordagem recomendada pelo Discord desde 2021. Suas principais características:
- Aparecem na interface ao digitar / (UX muito melhor para usuários novos)
- Suportam tipos de parâmetro definidos (texto, número, usuário, canal, etc.)
- O Discord valida os parâmetros antes de enviar ao bot
- Não precisam do Message Content Intent privilegiado
- Podem ser globais (todos os servidores) ou por servidor específico
- Suportam subcommands e grupos de subcommands
Slash commands globais levam até 1 hora para propagar a todos os servidores. Durante o desenvolvimento, registre os comandos por servidor para atualização imediata.
Prefix commands
Prefix commands leem o conteúdo das mensagens para identificar comandos. Suas características:
- Mais fáceis de implementar para iniciantes
- Não aparecem na interface do Discord (usuário precisa saber os comandos)
- Requerem o Message Content Intent (para bots com mais de 100 servidores, é intent privilegiado que precisa de aprovação)
- Muito usados em bots mais antigos criados antes do Discord popularizar os slash commands
Desde abril de 2022, bots em mais de 100 servidores precisam de verificação do Discord Developer Portal para usar o Message Content Intent. Sem a verificação, o bot não consegue ler o conteúdo das mensagens e os prefix commands param de funcionar.
Comparação prática
- UX para o usuário: slash ganha com autocomplete e descrições visíveis
- Facilidade de implementação: prefix é mais simples para quem está começando
- Suporte do Discord: slash commands são o futuro oficial
- Escalabilidade: slash não precisa de intent privilegiado em bots grandes
- Flexibilidade: prefix pode ser mais flexível para parsing de argumentos livres
Quando usar cada um
Use slash commands quando:
- O bot vai entrar em muitos servidores
- Você quer o bot verificado pelo Discord
- Os comandos têm parâmetros definidos e estruturados
- Boa experiência do usuário é prioridade
Use prefix commands quando:
- O bot é para uso privado em poucos servidores
- Você está aprendendo desenvolvimento de bots
- O bot precisa processar argumentos de texto livre complexos
Migrar para slash commands
Se você tem um bot com prefix commands e quer migrar para slash, a estratégia recomendada é manter os dois em paralelo por um tempo:
- Registre os slash commands novos enquanto mantém os prefix funcionando
- Avise os usuários do servidor sobre a mudança
- Monitore qual tipo de comando os usuários usam mais
- Depois de um período, remova os prefix commands
Para criar slash commands com discord.js do zero, veja o guia completo de criação de bot com slash commands. Para hospedar o bot, veja hospedagem de bot Discord 24/7.
Perguntas frequentes
- O Discord vai remover os prefix commands?
- Não oficialmente. O Discord não anunciou remoção dos prefix commands. Porém, desde abril de 2022, bots em mais de 100 servidores precisam de verificação para acessar o conteúdo das mensagens (Message Content Intent), o que quebra prefix commands sem intent ativo.
- Posso ter slash commands e prefix commands no mesmo bot?
- Sim. Muitos bots mantêm os dois sistemas durante a transição. Você pode registrar slash commands e ao mesmo tempo ouvir o evento messageCreate para prefix commands. É uma boa estratégia de migração gradual.
- Slash commands aparecem antes de enviar a mensagem?
- Sim, e essa é uma das principais vantagens. Ao digitar / no Discord, aparecem os comandos disponíveis com descrição e os parâmetros esperados. O usuário não precisa saber os comandos de memória.
- Como registrar um slash command no Discord?
- Via API do Discord usando o endpoint de registro de comandos de aplicação. Com discord.js, use client.application.commands.create() ou o REST API com Routes.applicationCommands(). O comando pode ser registrado como global ou por servidor.
Próximo passo
Ver planos de bots
Bots Discord 24/7 com ativação rápida e suporte em português.
Guias relacionados
Como criar bot Discord com slash commands
Slash commands melhoram a experiência do usuário e deixam o bot mais fácil de usar. Veja um caminho claro para começar.
Deploy de bot Discord Node.js com PM2: variáveis de ambiente e restart automático
PM2 é gerenciador de processos Node popular para bots Discord porque reinicia após crash, persiste entre reboots quando combinado com startup hook e centraliza logs mínimos sem montar Kubernetes inteiro. Este guia cobre arquivo ecosystem, env vars para token e integração com hospedagem BR.
Hospedagem de bot Discord 24/7 no Brasil
Hospedagem bot Discord 24/7 combina process manager com restart automático, token fora do código, logs e servidor no Brasil para latência baixa com a API e seus jogadores.