Como criar um chatbot no Discord

Um bot do Discord pode fazer tudo o que está disponível em outros canais, além de interagir diretamente com seu servidor: responder em canais, threads e mensagens diretas, adicionar reações, receber e enviar arquivos, e editar ou excluir suas próprias mensagens. Recursos adicionais incluem moderação (timeouts, expulsões, banimentos e exclusão de mensagens), gerenciamento de cargos, criação de canais para tickets e comandos de barra.

A configuração leva cerca de dez minutos e consiste em duas partes: primeiro, crie o bot no lado do Discord, depois conecte-o ao seu projeto no Mavibot.

Etapa 1. Criar um aplicativo

Abra o Discord Developer Portal e clique em New Application. Digite um nome — os membros do servidor o verão.

Na seção Installation, defina Install Link como None. Você mesmo criará o link de instalação do bot na Etapa 4 com as permissões necessárias.

Etapa 2. Configurar o bot

Vá para a seção Bot.

Desative Public Bot. Caso contrário, qualquer pessoa poderá adicionar seu bot ao servidor dela.

Ative os intents privilegiados necessários — sem eles, o Discord não enviará certos dados ao bot:

Intent Por que é necessário
Message Content Intent Texto da mensagem. Sem ele, o bot pode ver que uma mensagem foi enviada, mas não pode ver seu conteúdo, então os gatilhos baseados em texto não funcionarão.
Server Members Intent Eventos de membros: entradas, saídas, mudanças de cargo e alterações de apelido. Sem ele, as saudações de novos membros e a atribuição automática de cargos não funcionarão.
Presence Intent Status online. Não é necessário para o funcionamento do bot e não precisa ser ativado.

Etapa 3. Obter o token do bot

Na mesma seção Bot, clique em Reset Token e copie o token que aparece. Ele é exibido apenas uma vez — salve-o, pois você precisará dele na Etapa 6.

Importante! O token fornece acesso total ao seu bot. Não o publique ou compartilhe. Se o token for comprometido, clique em Reset Token novamente. O token antigo parará de funcionar imediatamente e você precisará reconectar o bot no Mavibot usando o novo token.

Etapa 4. Selecionar permissões

Abra OAuth2 → URL Generator.

Em Scopes, selecione:

  • bot — o próprio bot;
  • applications.commands — se você planeja usar comandos de barra. Sem esse escopo, os comandos não podem ser registrados no servidor.

A seção Bot Permissions aparecerá abaixo. Selecione apenas as permissões que seu bot realmente precisa — é melhor não conceder permissões desnecessárias.

Permissões mínimas para mensagens

Permissão O que não funcionará sem ela
View Channels O bot não conseguirá ver os canais
Send Messages O bot não conseguirá responder
Read Message History Respostas a mensagens e citações não funcionarão
Embed Links, Attach Files Links com pré-visualizações e arquivos não serão enviados
Add Reactions O bot não conseguirá adicionar reações

Permissões adicionais para moderação e automação

Permissão Para que é usada
Manage Messages Excluir mensagens de outros usuários e gerenciar mensagens fixadas
Moderate Members Timeouts (silenciamentos)
Kick Members Remover membros do servidor
Ban Members Banir e desbanir membros
Manage Roles Atribuir e remover cargos
Manage Nicknames Alterar apelidos de membros
Manage Channels Criar e excluir canais, incluindo canais de tickets
Create Instant Invite Criar links de convite

As permissões também podem ser alteradas posteriormente nas configurações do cargo do bot no servidor, sem precisar reconectar o bot.

Etapa 5. Adicionar o bot ao seu servidor

Copie a URL gerada na parte inferior da página URL Generator, abra-a no seu navegador e selecione o servidor.

Apenas o proprietário do servidor ou um membro com a permissão Manage Server pode adicionar o bot.

Após adicionar o bot, verifique a ordem dos cargos:

Server Settings → Roles

O cargo do bot deve estar posicionado acima dos cargos que ele atribuirá e acima dos cargos dos membros que ele precisa moderar.

Esta é uma restrição do Discord: um bot não pode atribuir um cargo que esteja no mesmo nível ou acima do seu próprio cargo, e não pode aplicar timeout ou banir um membro cujo cargo seja superior ao cargo do bot.

Etapa 6. Deixar o campo Interactions Endpoint URL vazio

Volte para a seção General Information do seu aplicativo e certifique-se de que o campo Interactions Endpoint URL esteja vazio.

Se algo for especificado neste campo, o Discord para de enviar cliques em botões e interações de comandos de barra para o bot — eles são enviados para a URL especificada.

Da perspectiva do usuário, isso parece que os botões nas mensagens do bot não estão funcionando, enquanto os comandos de barra retornam "Application did not respond."

Etapa 7. Conectar o bot ao seu projeto

No seu projeto Mavibot, abra a seção Channels, clique em Discord e cole o token da Etapa 3.

Após alguns segundos, o bot deve aparecer online no seu servidor do Discord. Se não aparecer, certifique-se de que o token foi copiado completamente e não contém espaços extras.

Verificar se tudo funciona

Envie uma mensagem em qualquer canal do servidor que deva acionar uma das respostas do seu bot — o bot deve responder.

Se o bot estiver online, mas não responder, provavelmente o Message Content Intent não está ativado.

Entre no servidor usando outra conta ou peça a um colega para entrar — a saudação de novo membro deve ser acionada. Se não for, verifique o Server Members Intent.

Clique em um botão em uma mensagem do bot. Se nada acontecer, verifique o Interactions Endpoint URL.

Coisas importantes a saber

Uma conversa de canal é compartilhada por todos

Todos os membros do canal escrevem na mesma conversa, como em um chat em grupo.

Variáveis como "quem enviou a mensagem" referem-se ao autor da mensagem mais recente e são substituídas pela próxima mensagem — leia e processe-as imediatamente no mesmo bloco.

Mensagens diretas com o bot e eventos de membros, como entradas, saídas e mudanças de cargo, são tratados em uma conversa separada para esse membro.

Mensagens diretas são restritas pelo Discord

Um bot pode enviar uma mensagem direta a um membro apenas se o membro compartilhar um servidor com o bot e não tiver desativado as mensagens diretas de membros do servidor nas configurações de privacidade.

Se o membro tiver desativado as mensagens diretas, a mensagem não poderá ser entregue — esta é uma restrição do Discord e não pode ser contornada.

Dados completos do webhook

Se você atribuir qualquer valor à variável save_webhook, todos os dados de eventos recebidos serão salvos na variável discord_webhook.

Isso raramente é necessário — quase tudo que você pode precisar do webhook já está disponível por meio de variáveis separadas.

Problemas comuns

O que acontece Por quê
O bot está online, mas não responde a texto Message Content Intent não está ativado
Eventos de entrada, saída e mudança de cargo não são recebidos Server Members Intent não está ativado
Botões não funcionam e comandos de barra retornam "Application did not respond" Interactions Endpoint URL está preenchido
Comandos de barra não podem ser registrados O bot foi adicionado sem o escopo applications.commands — gere uma nova URL de instalação e adicione o bot novamente
O bot não pode atribuir um cargo O cargo do bot não está acima do cargo alvo, ou o bot não tem Manage Roles. Cargos gerenciados por integrações, incluindo cargos de outros bots, e o cargo @everyone não podem ser atribuídos
O bot não pode aplicar timeout ou banir um membro O cargo do membro é superior ao cargo do bot, ou o bot não tem Moderate Members / Ban Members
O bot não pode ver um canal específico As permissões de nível de canal substituem as permissões de nível de servidor. Verifique as permissões do cargo do bot nas configurações desse canal
Mensagens não podem ser excluídas O bot não tem Manage Messages. O Discord permite exclusão em massa apenas para mensagens com menos de 14 dias

O que vem a seguir

Um chatbot do Discord suporta os mesmos recursos principais que bots em outros canais: pode enviar mensagens para canais, threads e mensagens diretas, adicionar reações, enviar e receber anexos, e editar ou excluir suas próprias mensagens.

Para funções de gerenciamento de servidor disponíveis no fluxo do seu bot, consulte "Discord API Functions."

Para aprender a construir o fluxo de mensagens em si, consulte "How to Create a Chatbot for Business."

Para permitir que a IA se comunique com clientes no Discord, ative um AI Assistant — consulte a seção "AI Assistant."