Como Criar um Bot do Discord com discord.py do Zero
🔍 WiseChecker

Como Criar um Bot do Discord com discord.py do Zero

Você quer criar um bot do Discord, mas não tem experiência em programação. Um bot pode automatizar tarefas como moderar chat, tocar música ou enviar mensagens de boas-vindas. A biblioteca discord.py é o framework Python mais popular para criar bots. Este guia mostra como instalar o Python, configurar o discord.py, registrar seu bot no Discord e escrever seu primeiro script funcional.

Você não precisa de conhecimento prévio de programação. Cada etapa é explicada em linguagem clara e com comandos exatos. Ao final, você terá um bot que responde a um comando simples no seu próprio servidor.

Principais pontos: Criando seu primeiro bot do Discord

  • Instalação do Python 3.8+: Necessário antes de instalar o discord.py com pip.
  • Discord Developer Portal > Applications > New Application: Registre seu bot e obtenha o token.
  • Bot > Privileged Gateway Intents: Ative MESSAGE CONTENT INTENT para que o bot leia mensagens.
  • OAuth2 > URL Generator > escopo bot + permissão Send Messages: Gere um URL de convite para adicionar o bot ao seu servidor.
  • client.run(‘SEU_TOKEN’): A linha que inicia o bot e o mantém online.

O que é discord.py e por que usá-lo?

discord.py é uma biblioteca Python que lida com toda a comunicação de baixo nível com a API do Discord. Em vez de escrever requisições HTTP brutas, você usa objetos e eventos Python. A biblioteca suporta comandos, comandos de barra, conexões de voz e tarefas em segundo plano.

A versão mínima do Python é 3.8. O discord.py funciona no Windows, macOS e Linux. Você precisa de uma conta no Discord e de um servidor onde tenha permissão de Gerenciar Servidor para adicionar um bot.

Pré-requisitos antes de começar

Você deve instalar o Python e um editor de texto. O Visual Studio Code é recomendado por ter terminal integrado e suporte a Python. Baixe o Python em python.org e marque a opção “Adicionar Python ao PATH” durante a instalação.

Passos para criar e executar seu primeiro bot do Discord

Passo 1: Instalar o discord.py

  1. Abra um terminal ou prompt de comando
    No Windows, pressione Windows+R, digite cmd e pressione Enter. No macOS, abra o Terminal em Aplicativos > Utilitários.
  2. Execute o comando pip install
    Digite pip install discord.py e pressione Enter. Aguarde a instalação terminar. Se aparecer o erro “pip não encontrado”, use python -m pip install discord.py.

Passo 2: Criar um bot no Discord Developer Portal

  1. Acesse o Discord Developer Portal
    Abra o navegador e vá para https://discord.com/developers/applications. Faça login com sua conta do Discord.
  2. Clique em New Application
    Dê um nome ao seu bot, como “MeuPrimeiroBot”. Aceite os termos e clique em Create.
  3. Vá para a página Bot
    Na barra lateral esquerda, clique em Bot. Depois clique em Add Bot e confirme clicando em Yes, do it!.
  4. Copie o token do bot
    Abaixo do nome do bot, clique em Reset Token. Copie o novo token imediatamente. Mantenha este token em segredo. Qualquer pessoa com o token pode controlar seu bot.
  5. Ative o Message Content Intent
    Na mesma página Bot, role até Privileged Gateway Intents. Ative MESSAGE CONTENT INTENT. Clique em Save Changes.

Passo 3: Convidar o bot para o seu servidor

  1. Vá para OAuth2 > URL Generator
    Na barra lateral esquerda, clique em OAuth2 e depois em URL Generator.
  2. Selecione o escopo bot
    Em Scopes, marque a caixa bot.
  3. Selecione as permissões
    Em Bot Permissions, marque Send Messages e Read Message History. Para um bot básico, essas duas permissões são suficientes.
  4. Copie o URL gerado
    Role até o final da página. Copie o URL na caixa Generated URL. Abra uma nova aba do navegador, cole o URL e pressione Enter.
  5. Selecione seu servidor e autorize
    Escolha seu servidor na lista suspensa. Clique em Continue e depois em Authorize. Complete o CAPTCHA se solicitado.

Passo 4: Escrever seu primeiro script do bot

  1. Crie um novo arquivo Python
    Abra o Visual Studio Code ou qualquer editor de texto. Crie um novo arquivo e salve como bot.py em uma pasta vazia.
  2. Escreva o código do bot
    Copie e cole o seguinte código em bot.py:

    import discord
    from discord.ext import commands

    intents = discord.Intents.default()
    intents.message_content = True

    bot = commands.Bot(command_prefix='!', intents=intents)

    @bot.event
    async def on_ready():
    print(f'Logado como {bot.user}' )

    @bot.command()
    async def hello(ctx):
    await ctx.send('Olá! Eu sou um bot.')

    bot.run('SEU_TOKEN_AQUI')

  3. Substitua o token
    Na última linha, substitua 'SEU_TOKEN_AQUI' pelo token que você copiou do Developer Portal. Mantenha as aspas simples.

Passo 5: Executar o bot

  1. Abra um terminal na pasta do bot
    No Visual Studio Code, vá em Terminal > New Terminal. Ou use o terminal externo e navegue até a pasta onde bot.py foi salvo.
  2. Execute o script do bot
    Digite python bot.py e pressione Enter. Você deve ver a mensagem “Logado como MeuPrimeiroBot#1234” aparecer no terminal.
  3. Teste o bot no Discord
    Vá para qualquer canal de texto no seu servidor onde o bot tenha acesso. Digite !hello e pressione Enter. O bot deve responder com “Olá! Eu sou um bot.”

Erros comuns e o que evitar

O bot não responde a comandos

A causa mais comum é a falta do Message Content Intent. Volte à página Bot no Developer Portal e confirme que MESSAGE CONTENT INTENT está ativado. Verifique também se o bot tem a permissão Send Messages no canal.

Token não funciona ou é inválido

Se aparecer o erro “Token inválido”, o token foi copiado incorretamente. Redefina o token na página Bot e copie novamente. Certifique-se de que não há espaços extras ou quebras de linha. O token deve ser uma string longa de caracteres dentro de aspas simples.

O bot fica offline após fechar o terminal

Ao fechar a janela do terminal, o bot para de funcionar. Para manter o bot online 24 horas por dia, 7 dias por semana, você precisa hospedá-lo em um servidor na nuvem. Serviços como Heroku, Railway ou um VPS barato podem executar seu script continuamente.

Prefixo de comando conflita com outros bots

Se outro bot no seu servidor também usa o prefixo !, os comandos podem conflitar. Altere seu prefixo para algo único como $ ou ? na linha commands.Bot(command_prefix='$').

discord.py vs outras bibliotecas de bot

Item discord.py discord.js
Linguagem Python JavaScript / Node.js
Curva de aprendizado Baixa a média Média a alta
Suporte a comandos de barra Sim, via discord.app_commands Sim, nativo
Suporte a voz Sim, via FFmpeg Sim, via @discordjs/voice
Tamanho da comunidade Grande Muito grande

Agora você tem um bot do Discord funcional que responde ao comando !hello. Depois, tente adicionar mais comandos como !ping para verificar a latência ou !say para repetir uma mensagem. A classe commands.Bot também suporta comandos de barra usando bot.tree.command. Para recursos avançados, explore a documentação do discord.py sobre listeners de eventos e tarefas em segundo plano.