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
- 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. - Execute o comando pip install
Digitepip install discord.pye pressione Enter. Aguarde a instalação terminar. Se aparecer o erro “pip não encontrado”, usepython -m pip install discord.py.
Passo 2: Criar um bot no Discord Developer Portal
- Acesse o Discord Developer Portal
Abra o navegador e vá para https://discord.com/developers/applications. Faça login com sua conta do Discord. - Clique em New Application
Dê um nome ao seu bot, como “MeuPrimeiroBot”. Aceite os termos e clique em Create. - 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!. - 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. - 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
- Vá para OAuth2 > URL Generator
Na barra lateral esquerda, clique em OAuth2 e depois em URL Generator. - Selecione o escopo bot
Em Scopes, marque a caixa bot. - 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. - 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. - 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
- Crie um novo arquivo Python
Abra o Visual Studio Code ou qualquer editor de texto. Crie um novo arquivo e salve comobot.pyem uma pasta vazia. - Escreva o código do bot
Copie e cole o seguinte código embot.py:import discord
from discord.ext import commandsintents = discord.Intents.default()
intents.message_content = Truebot = 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')
- 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
- 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 ondebot.pyfoi salvo. - Execute o script do bot
Digitepython bot.pye pressione Enter. Você deve ver a mensagem “Logado como MeuPrimeiroBot#1234” aparecer no terminal. - Teste o bot no Discord
Vá para qualquer canal de texto no seu servidor onde o bot tenha acesso. Digite!helloe 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.