Quando você digita um comando de barra no Discord, o aplicativo às vezes mostra o erro “Application Did Not Respond.” Isso acontece quando o bot ou a integração não consegue responder à solicitação de interação do Discord em três segundos. O Discord exige que todos os comandos de barra respondam dentro desse limite de tempo, ou a interação expira. Este artigo explica por que o erro ocorre e fornece correções passo a passo para donos de servidores, desenvolvedores de bots e usuários comuns.
Principais conclusões: Corrigindo o erro “Application Did Not Respond”
- Configurações do Servidor > Integrações > Gerenciar Permissões do Bot: Certifique-se de que o bot tenha a permissão “Usar Comandos de Barra” ativada.
- Limites de Taxa de Comandos de Barra: O bot pode estar com limite de taxa se muitos comandos forem enviados em pouco tempo; aguarde 30 segundos antes de tentar novamente.
- Código do Bot — Método DeferReply: Desenvolvedores de bots devem usar
DeferReplyoudefer_ephemeralpara reconhecer a interação dentro de três segundos enquanto o bot processa o comando.
Por que o Discord mostra “Application Did Not Respond” para comandos de barra
O sistema de comandos de barra do Discord funciona enviando uma “interação” para o servidor do bot quando um usuário digita um comando. O bot deve responder a essa interação em três segundos. Se o bot estiver offline, lento ou bloqueado por permissões, o Discord não consegue obter uma resposta e mostra o erro. O limite de três segundos existe para manter a interface do usuário responsiva. Se o bot precisar de mais tempo para processar o comando, ele deve usar uma resposta adiada para informar ao Discord que espere.
Causas raiz comuns
O erro pode vir de três fontes principais: o servidor do bot está inativo ou sobrecarregado, o bot não tem as permissões necessárias no canal ou o código do bot não lida corretamente com a janela de três segundos. Problemas de rede no lado do usuário também podem fazer com que a interação falhe antes de chegar ao bot.
Passos para corrigir o erro “Application Did Not Respond”
Siga estes passos em ordem. Comece com as verificações mais simples e vá para correções mais avançadas, se necessário.
Passo 1: Verifique o status e as permissões do bot
- Abra o Discord e vá para Configurações do Servidor
Clique com o botão direito no nome do servidor na lista de canais e selecione Configurações do Servidor. Se você não for o dono do servidor, peça ao dono para verificar as permissões. - Navegue até Integrações
Na barra lateral esquerda, clique em Integrações. Encontre o bot que não está respondendo e clique em Gerenciar. - Verifique se o bot tem a permissão “Usar Comandos de Barra”
Em Permissões, role até a seção Permissões de Texto. Certifique-se de que Usar Comandos de Barra esteja ativado. Se estiver desativado, ative-o e clique em Salvar Alterações. - Verifique se o bot está online
Observe o perfil do bot na lista de membros. Se mostrar um ícone cinza, o bot está offline. Entre em contato com o desenvolvedor do bot ou verifique a página de status do bot.
Passo 2: Teste o comando em um canal diferente
- Abra um canal de texto onde você sabe que o bot funciona
Tente um canal geral ou de comandos de bot. Alguns canais têm permissões de comando restritas. - Digite o mesmo comando de barra novamente
Se o comando funcionar em um canal, mas não em outro, verifique as permissões específicas do canal em Configurações do Canal > Permissões.
Passo 3: Limpe o cache do Discord e reinicie
- Feche o Discord completamente
Clique com o botão direito no ícone do Discord na bandeja do sistema e selecione Sair do Discord. - Abra a caixa de diálogo Executar
Pressione Tecla Windows + R, digite%appdata%/discorde pressione Enter. - Exclua a pasta Cache
Encontre a pasta chamada Cache, clique com o botão direito e selecione Excluir. Não exclua nenhum outro arquivo ou pasta. - Reinicie o Discord
Abra o Discord novamente e teste o comando de barra.
Passo 4: Verifique os limites de taxa do bot
- Aguarde 30 segundos após o erro
Se você ou outras pessoas enviaram muitos comandos de barra rapidamente, o Discord pode ter limitado a taxa do bot. Aguarde 30 segundos antes de tentar novamente. - Use um único comando e observe
Digite um comando de barra e aguarde a resposta. Se funcionar, a falha anterior provavelmente foi devido ao limite de taxa.
Passo 5: Desenvolvedores de bots — Implemente resposta adiada
- Adicione
DeferReplyno início do manipulador de comando
No Discord.js, useinteraction.deferReply()para reconhecer a interação imediatamente. Isso informa ao Discord para esperar enquanto o bot processa o comando. - Defina o sinalizador ephemeral se necessário
Useinteraction.deferReply({ ephemeral: true })para comandos que devem ser visíveis apenas para o usuário. - Responda dentro de 15 minutos após adiar
Após adiar, você tem até 15 minutos para enviar a resposta real usandointeraction.editReply(). Se não responder dentro de 15 minutos, a interação expira novamente.
Se o Discord ainda mostrar o erro após a correção principal
O bot fica offline após a expiração do boost do servidor
Alguns bots exigem um servidor impulsionado para usar certos recursos. Se o nível de boost do seu servidor cair, o bot pode perder o acesso a endpoints premium e falhar ao responder. Verifique a documentação do bot para requisitos de boost. Se o bot for personalizado, certifique-se de que o token do bot seja válido e não tenha expirado.
O comando funciona no desktop, mas não no celular
Os aplicativos móveis do Discord às vezes têm caches de comandos de barra desatualizados. Force o fechamento do aplicativo móvel do Discord, reabra-o e tente o comando novamente. Se o problema persistir, desinstale e reinstale o aplicativo móvel do Discord.
O erro ocorre apenas com comandos de barra, não com mensagens de chat
Isso indica que o bot está online, mas não está lidando corretamente com as interações de comandos de barra. O desenvolvedor do bot deve verificar o código do manipulador de interações. O bot pode estar usando uma biblioteca desatualizada que não suporta comandos de barra. Atualize a biblioteca da API do Discord do bot para a versão mais recente.
Métodos de resposta de interação do Discord: Adiado vs Instantâneo
| Item | DeferReply (Resposta Adiada) | Resposta Instantânea (Direta) |
|---|---|---|
| Limite de tempo para reconhecer | 3 segundos | 3 segundos |
| Limite de tempo para enviar conteúdo | 15 minutos após adiar | Deve ser dentro dos mesmos 3 segundos |
| Caso de uso | Comandos que levam mais de 3 segundos para processar | Comandos que podem responder instantaneamente |
| Suporte a ephemeral | Sim — use deferReply({ ephemeral: true }) |
Sim — use reply({ ephemeral: true }) |
| Risco de erro | Baixo se você responder dentro de 15 minutos | Alto se o processamento levar mais de 3 segundos |
Agora você pode corrigir o erro “Application Did Not Respond” verificando as permissões do bot, limpando o cache do Discord ou implementando uma resposta adiada no código do seu bot. Se você é dono de servidor, verifique se o bot tem as permissões corretas em cada canal. Se você é desenvolvedor de bots, adicione DeferReply a todos os manipuladores de comando que realizam consultas a bancos de dados ou chamadas de API. Para uma configuração mais robusta, considere usar o recurso autocomplete do Discord para reduzir o tempo de processamento do comando.