Como Fazer um Bot do Discord Responder Apenas a Palavras Específicas
🔍 WiseChecker

Como Fazer um Bot do Discord Responder Apenas a Palavras Específicas

Você quer que seu bot do Discord reaja apenas quando alguém disser uma palavra ou frase específica, não a cada mensagem no canal. Sem esse controle, um bot pode encher o chat de respostas indesejadas ou perder o gatilho exato que você precisa. Este artigo explica como configurar seu bot usando o sistema de prefixo embutido do Discord e um filtro de código simples. Ao final, você terá um bot que escuta apenas as palavras que você escolher e ignora todo o resto.

Principais Conclusões: Como Filtrar Respostas do Bot para Palavras Específicas

  • Filtragem baseada em prefixo no código: Use um prefixo de comando como “!” para que o bot responda apenas quando esse prefixo aparecer antes da palavra de gatilho.
  • Filtro de conteúdo de mensagem no Portal do Desenvolvedor do Discord: Ative a “Intenção de Conteúdo de Mensagem” para permitir que seu bot leia o texto das mensagens.
  • Correspondência de strings no script do bot: Escreva uma instrução if que verifique correspondências exatas de palavras ou use includes() para correspondências parciais.

O Que Você Precisa Antes de Configurar Respostas do Bot para Palavras Específicas

Um bot do Discord responde a todas as mensagens que pode ler, a menos que você adicione código para filtrá-las. O método mais confiável é usar um prefixo de comando, como um ponto de exclamação ou uma barra, combinado com uma verificação de palavra no código do seu bot. Isso requer duas coisas: as permissões corretas no Portal do Desenvolvedor do Discord e um pequeno script em uma linguagem como Python, JavaScript ou Java. O script é executado no seu computador ou em um servidor em nuvem e se comunica com a API do Discord.

Pré-requisitos

Antes de escrever código, você deve ter um aplicativo de bot do Discord criado no Portal do Desenvolvedor do Discord. Você precisa do token do bot, que é uma chave única que permite que seu código controle o bot. Além disso, você deve ativar a “Intenção de Conteúdo de Mensagem” nas configurações do Bot no portal. Sem essa intenção, o bot não pode ver o texto das mensagens e não conseguirá verificar palavras específicas.

Escolhendo uma Linguagem de Programação

As bibliotecas mais comuns são discord.py para Python e discord.js para Node.js. Ambas fornecem funções embutidas para lidar com eventos de mensagem e verificar prefixos. Este artigo usa Python com discord.py por ser amigável para iniciantes. A mesma lógica se aplica a qualquer linguagem: ouvir um evento de mensagem, verificar o conteúdo e responder apenas se houver correspondência.

Passos para Fazer um Bot do Discord Responder Apenas a Palavras Específicas

Siga estes passos para criar um bot que responda apenas quando um usuário digitar uma palavra ou frase específica. O exemplo usa um bot Python que responde à palavra “olá” quando aparece no início de uma mensagem ou após um prefixo.

Passo 1: Criar o Aplicativo do Bot e Obter o Token

  1. Acesse o Portal do Desenvolvedor do Discord
    Abra seu navegador e visite discord.com/developers/applications. Clique no botão “New Application” e dê um nome a ele. Isso cria o aplicativo do seu bot.
  2. Navegue até as configurações do Bot
    Na barra lateral esquerda, clique em “Bot” e depois em “Add Bot”. Confirme o pop-up. Você verá uma seção de token. Clique em “Copy” para salvar o token. Mantenha este token privado — qualquer pessoa com ele pode controlar seu bot.
  3. Ative a Intenção de Conteúdo de Mensagem
    Role para baixo até a seção “Privileged Gateway Intents”. Ative a opção “Message Content Intent”. Isso é necessário para que o bot leia o texto das mensagens. Clique em “Save Changes”.

Passo 2: Convidar o Bot para o Seu Servidor

  1. Abra as configurações de OAuth2
    No Portal do Desenvolvedor, clique em “OAuth2” e depois em “URL Generator” na barra lateral esquerda.
  2. Selecione escopos e permissões
    Em Scopes, marque “bot”. Em Bot Permissions, escolha “Send Messages” e “Read Message History”. Uma URL aparece na parte inferior da página.
  3. Use a URL de convite
    Copie a URL gerada, cole no seu navegador, selecione seu servidor no menu suspenso e clique em “Authorize”. Complete o CAPTCHA se solicitado.

Passo 3: Escrever o Script do Bot

  1. Instale o discord.py
    Abra um terminal ou prompt de comando e execute: pip install discord.py. Isso instala a biblioteca Python.
  2. Crie um arquivo Python
    Abra um editor de texto e crie um novo arquivo chamado bot.py. Cole o seguinte código:
    import discord
    
    client = discord.Client()
    
    @client.event
    async def on_ready():
        print(f'Logado como {client.user}')
    
    @client.event
    async def on_message(message):
        if message.author == client.user:
            return
    
        # Verifica se a mensagem começa com a palavra de gatilho
        if message.content.lower().startswith("olá"):
            await message.channel.send("Olá! Eu só respondo a olá.")
    
    client.run("SEU_TOKEN_DO_BOT")
    
  3. Substitua o token
    Substitua SEU_TOKEN_DO_BOT pelo token que você copiou do Portal do Desenvolvedor. Não compartilhe este arquivo publicamente.
  4. Execute o bot
    No terminal, execute python bot.py. Você deve ver “Logado como [nome do bot]”. O bot está online.

Passo 4: Testar o Bot

  1. Envie uma mensagem com a palavra de gatilho
    Em qualquer canal que o bot possa ver, digite “olá” ou “Olá pessoal”. O bot deve responder com “Olá!”
  2. Envie uma mensagem sem a palavra de gatilho
    Digite “tchau” ou “como você está”. O bot não deve responder. Se responder, verifique seu código em busca de condições ausentes.

Erros Comuns e Coisas a Evitar

Mesmo com o código correto, vários problemas podem fazer o bot responder incorretamente ou não responder. Aqui estão os problemas mais frequentes e como corrigi-los.

Bot Responde a Todas as Mensagens

Se o seu bot responder a todas as mensagens, provavelmente você esqueceu de adicionar a condição if que verifica a palavra específica. Certifique-se de que o evento on_message contenha uma verificação como if "olá" in message.content.lower():. Sem isso, o bot processará todas as mensagens.

Bot Não Responde

Primeiro, verifique se o bot está online olhando a lista de membros no seu servidor Discord. Se estiver offline, o token pode estar incorreto ou o script não está sendo executado. Segundo, confirme se a Intenção de Conteúdo de Mensagem está ativada no Portal do Desenvolvedor. Sem ela, message.content estará vazio. Por fim, verifique se o bot tem permissão para ler mensagens no canal.

Problemas de Sensibilidade a Maiúsculas/Minúsculas

Se você digitar “Olá” mas seu código verificar “olá” sem converter maiúsculas/minúsculas, o bot não responderá. Sempre use .lower() no conteúdo da mensagem e na palavra de gatilho para tornar a comparação insensível a maiúsculas/minúsculas.

Bot Responde às Próprias Mensagens

O código inclui if message.author == client.user: return para evitar que o bot responda a si mesmo. Se você removeu esta linha, o bot criará um loop infinito. Sempre mantenha esta verificação.

Filtragem Baseada em Prefixo vs. Filtragem Apenas por Palavra

Item Filtragem Baseada em Prefixo Filtragem Apenas por Palavra
Exemplo de gatilho !olá olá
Verificação no código message.content.startswith(“!olá”) “olá” in message.content.lower()
Gatilhos acidentais Raros — só dispara quando o prefixo é digitado Comuns — dispara se a palavra aparecer em qualquer lugar da mensagem
Experiência do usuário Requer aprender o prefixo Parece mais natural, mas pode ser ruidoso
Melhor caso de uso Comandos como !ajuda ou !regras Respostas automáticas para palavras-chave específicas

Este artigo cobre a abordagem apenas por palavra. Se você preferir a filtragem baseada em prefixo, altere a condição para verificar um prefixo como “!” seguido da sua palavra. Ambos os métodos funcionam com a mesma estrutura de script.

Agora você sabe como criar um bot do Discord que responde apenas a palavras específicas. Comece ativando a Intenção de Conteúdo de Mensagem no Portal do Desenvolvedor. Em seguida, escreva um script Python simples que verifique o conteúdo da mensagem com uma instrução if. Teste com uma palavra de gatilho e confirme que o bot ignora outras mensagens. Para um controle mais avançado, adicione várias palavras de gatilho ou use expressões regulares para correspondência de padrões. Tente adicionar uma segunda palavra de gatilho como “tchau” duplicando a condição if no seu código.