Como criar seu primeiro bot do Discord em 2026 usando JavaScript (discord.js) ou Python (discord.py) — do registro à implantação, passo a passo.
Grow your server faster with Rally
Rally gives server owners community management tools, member engagement features, and discovery placement — all in one bot. Add it to your server in 2 minutes.
Add Rally to your server →Criar seu primeiro bot do Discord é mais fácil do que você pensa. Você não precisa de um diploma de ciência da computação ou anos de experiência em programação. Em 2026, construir e implantar um bot funcional leva um fim de semana se você estiver focado.
Este guia orienta você por todo o processo: registrar seu bot, escrever seu primeiro comando, testá-lo localmente e implantá-lo ao vivo. Ao final, você terá um bot em execução no seu servidor.
Um bot do Discord é um programa que se conecta ao Discord por meio da API e responde a eventos: quando alguém digita um comando, reage a uma mensagem, entra no servidor, etc.
Conceitos-chave:
/comando) em vez de comandos de prefixo (!comando). Os comandos de barra são oficialmente suportados e recomendados.É aqui que seu bot existe oficialmente no sistema do Discord.
Processo:
Agora crie o usuário do bot:
Configure as configurações do bot:
Você precisa de um link de convite especial para adicionar o bot a um servidor.
No Portal do Desenvolvedor:
botSend Messages (essencial para qualquer bot)Manage Messages (se você estiver moderando)Add Reactions (se o bot reage a coisas)Connect + Speak (se for um bot de música/voz)Send Messages + Read Messages (mínimo viável)Não use a permissão de Administrador a menos que seja absolutamente necessário. Excesso de permissão é um risco de segurança.
Duas opções principais para iniciantes:
Discord.js é o framework de bot do Discord mais popular. Enorme comunidade, toneladas de tutoriais e excelente documentação.
Prós:
Contras:
Comece:
npm init -ynpm install discord.jsSintaxe mais simples, ótimo para iniciantes, excelente para aprender fundamentos.
Prós:
Contras:
Comece:
pip install discord.pyRecomendação para iniciantes: Se você conhece Python, use discord.py. Se você conhece JavaScript, use discord.js. Se você não conhece nenhum, Python é mais fácil de aprender, mas JavaScript tem mais recursos online. Escolha um e comprometa-se.
Aqui está um bot do Discord funcional mínimo em Python que responde a um comando:
import discord
from discord.ext import commands
# Create bot with command prefix and intents
intents = discord.Intents.default()
intents.message_content = True
bot = commands.Bot(command_prefix='!', intents=intents)
@bot.event
async def on_ready():
print(f'{bot.user} has connected to Discord!')
@bot.command(name='hello', help='Says hello')
async def hello(ctx):
await ctx.send(f'Hello {ctx.author.name}!')
@bot.command(name='ping', help='Responds with pong')
async def ping(ctx):
await ctx.send('Pong!')
bot.run('YOUR_TOKEN_HERE')
O que isso faz:
!hello e !pingPara executá-lo:
'YOUR_TOKEN_HERE' pelo seu token real da Etapa 1bot.pypython bot.py!hello em qualquer canalAntes de implantar, teste seu bot localmente (no seu computador).
Configure um servidor de teste:
Erros comuns:
Teste completamente. Um bot com bugs em produção é embaraçoso.
Agora que você entende o básico, expanda com mais recursos.
Exemplo em Python — um comando de economia simples:
@bot.command(name='balance', help='Check your coin balance')
async def balance(ctx):
# In a real bot, this would query a database
# For now, just return a mock value
await ctx.send(f'{ctx.author.name}, you have 100 coins!')
@bot.command(name='roll', help='Roll a dice (1-6)')
async def roll(ctx):
import random
result = random.randint(1, 6)
await ctx.send(f'{ctx.author.name} rolled: **{result}**')
Cada comando é uma função simples. Adicione quantos quiser.
Hospedar localmente funciona para testes, mas seu bot para quando você fecha seu laptop. Implante em um servidor para que ele seja executado 24 horas por dia, 7 dias por semana.
Replit (mais fácil para iniciantes):
Railway.app (moderno, confiável):
Glitch (semelhante ao Replit):
Importante: Não codifique seu token no código que você envia para o GitHub. Use variáveis de ambiente:
import os
from dotenv import load_dotenv
load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')
bot.run(TOKEN)
Crie um arquivo .env localmente (adicione ao .gitignore para que não seja commitado):
DISCORD_TOKEN=seu_token_real_aqui
No Replit/Railway, defina o token como uma variável de ambiente secreta nas configurações da plataforma (não no código).
Erro 1: Codificar o token Nunca coloque seu token no código que você envia para o GitHub. Bots com tokens vazados são comprometidos instantaneamente. Use variáveis de ambiente.
Erro 2: Não tratar erros Seu bot trava em entradas inesperadas. Adicione tratamento de erros:
@bot.command()
async def divide(ctx, a: int, b: int):
try:
result = a / b
await ctx.send(result)
except ZeroDivisionError:
await ctx.send('Cannot divide by zero!')
except ValueError:
await ctx.send('Please enter valid numbers!')
Erro 3: Não respeitar os limites de taxa O Discord limita a rapidez com que você pode enviar mensagens. Não envie spam para a API. Adicione atrasos entre as ações em massa.
Erro 4: Ignorar intents Muitos bots iniciantes falham porque não habilitam os intents necessários no Portal do Desenvolvedor. Verifique os intents que seu bot precisa antes de implantar.
Erro 5: Escopo muito ambicioso Não tente construir um sistema de economia, moderação, música e 50 comandos no seu primeiro bot. Comece com 3-5 comandos simples. Expanda quando estiver confortável.
Agora que você tem um bot básico:
/comando em vez de comandos de prefixoSeu primeiro bot do Discord é um projeto de fim de semana. Seu primeiro bom bot do Discord é um mês de prática. Seu primeiro bot usado por 1.000 servidores são meses de iteração, desenvolvimento de recursos e construção de comunidade. Comece agora, itere constantemente e não pense demais.