Discord · Guia

Como criar um bot no Discord

Atualizado October 10, 2026 5 min de leitura

Nesta página
  1. Passo 1: Crie o aplicativo e o token do bot
  2. Passo 2: Convide o bot para o seu servidor
  3. Passo 3a: Escreva o bot em Python (discord.py)
  4. Passo 3b: Escreva o bot em JavaScript (discord.js)
  5. Mantenha o token fora do código
  6. Passo 4: Mantenha seu bot online
  7. FAQ

Um bot do Discord é um programa que entra no Discord com a própria conta e responde a comandos, modera, roda jogos ou publica atualizações. Para criar um você precisa de três coisas: um aplicativo no Developer Portal do Discord, algumas linhas de código e um lugar para esse código rodar.

Este guia monta um bot funcional com um comando de barra /ping, em Python (discord.py) ou JavaScript (discord.js): escolha a linguagem que você conhece.

Passo 1: Crie o aplicativo e o token do bot

  1. Abra o Developer Portal. Acesse discord.com/developers/applications, crie um novo aplicativo e dê um nome a ele.
  2. Pegue o token. Na página Bot, clique em Reset Token e copie-o. O Discord mostra o token só uma vez; se você perder, redefina de novo.
  3. Mantenha o token em segredo. Ele é a senha do bot: quem tiver o token controla o seu bot. Nunca cole o token em código que você compartilha nem faça commit dele no Git.
Você precisa de intents? Um bot que usa só comandos de barra não precisa de nenhum intent privilegiado. Ative Message Content na página Bot apenas se o bot precisar ler o que as pessoas digitam em mensagens normais. Bots em servidores com mais de 10.000 usuários precisam de aprovação do Discord para os intents privilegiados.

Passo 2: Convide o bot para o seu servidor

  1. Abra a página Installation do seu aplicativo.
  2. Nas configurações de instalação padrão para servidores, adicione os scopes bot e applications.commands e as permissões de que o bot precisa: Send Messages basta para este guia.
  3. Abra o link de instalação gerado, escolha o seu servidor e autorize. O bot aparece na lista de membros, offline até o seu código rodar.

Tutoriais mais antigos usam OAuth2 > URL Generator com os mesmos dois scopes; isso ainda funciona.

Passo 3a: Escreva o bot em Python (discord.py)

O discord.py 2.7 exige Python 3.8 ou mais recente. Instale e crie bot.py:

pip install discord.py
import os
import discord
from discord import app_commands

class Bot(discord.Client):
    def __init__(self):
        super().__init__(intents=discord.Intents.default())
        self.tree = app_commands.CommandTree(self)

    async def setup_hook(self):
        await self.tree.sync()

bot = Bot()

@bot.tree.command(description="Replies with Pong!")
async def ping(interaction: discord.Interaction):
    await interaction.response.send_message("Pong!")

bot.run(os.environ["DISCORD_TOKEN"])

Rode com o token em uma variável de ambiente, por exemplo DISCORD_TOKEN=your-token python bot.py no Linux ou macOS.

Passo 3b: Escreva o bot em JavaScript (discord.js)

O discord.js 14 exige Node.js 18 ou mais recente. Em uma pasta nova, rode npm install discord.js e crie index.js:

const { Client, Events, GatewayIntentBits, REST, Routes, SlashCommandBuilder } = require('discord.js');

const commands = [new SlashCommandBuilder().setName('ping').setDescription('Replies with Pong!').toJSON()];
const client = new Client({ intents: [GatewayIntentBits.Guilds] });

client.once(Events.ClientReady, async (c) => {
  await new REST().setToken(process.env.DISCORD_TOKEN).put(Routes.applicationCommands(c.user.id), { body: commands });
  console.log(`Logged in as ${c.user.tag}`);
});

client.on(Events.InteractionCreate, async (interaction) => {
  if (interaction.isChatInputCommand() && interaction.commandName === 'ping') await interaction.reply('Pong!');
});

client.login(process.env.DISCORD_TOKEN);

Inicie com DISCORD_TOKEN=your-token node index.js. Quando o console mostrar Logged in, digite /ping no seu servidor.

Mantenha o token fora do código

  • Use uma variável de ambiente ou um arquivo .env, e adicione .env ao .gitignore antes do primeiro commit.
  • Se o token vazar, redefina na página Bot na hora. O token antigo para de funcionar, e você atualiza o novo onde o bot roda.
  • O GitHub varre repositórios públicos em busca de tokens de bots do Discord e os informa ao Discord, que pode revogá-los; por isso, um token enviado por engano muitas vezes para de funcionar antes de você perceber.

Passo 4: Mantenha seu bot online

Seu bot só fica online enquanto o código está rodando. Fechou o terminal ou desligou o PC, ele fica offline. Você tem três opções:

  • Seu próprio PC: grátis e bom para desenvolver e testar, mas o bot dorme quando o computador dorme.
  • Um plano gratuito: a maioria suspende ou limita bots que rodam o mês inteiro; os prós e contras estão comparados em hospedagem gratuita de bots do Discord.
  • Hospedagem de bots: um pequeno servidor sempre ligado. Na hospedagem de bots do Discord da HytHost você envia seu projeto, escolhe Node.js, Python ou outro runtime, e o painel inicia o bot e o reinicia se ele travar.

O passo a passo completo, do envio ao reinício automático, está em como hospedar um bot do Discord 24/7.

Rode seu bot sem deixar o PC ligado: a hospedagem de bots do Discord da HytHost suporta Node.js, Python, Java, Go, C#, Bun e Lavalink, a partir de €0.89/mês.

Ver planos de hospedagem de bots
FAQ

Perguntas frequentes

Sim. Criar o aplicativo, o token e o código não custa nada, e o discord.py e o discord.js são gratuitos. Você só paga se quiser hospedá-lo em algum lugar que fique online.

A que você já conhece. O discord.py e o discord.js são maduros e cobrem toda a API do Discord. Se você não conhece nenhuma, Python é mais simples de ler; JavaScript tem o ecossistema de bibliotecas maior.

Confira se você o convidou com o scope applications.commands e se o código sincronizou os comandos. Comandos globais podem levar um tempinho para aparecer; se não aparecerem, reinicie o Discord.

Ler o texto de mensagens normais exige o intent Message Content, ativado no Developer Portal e solicitado no seu código. Sem ele, o bot continua recebendo comandos de barra, menções e mensagens diretas.

Redefina na hora na página Bot do Developer Portal. O token antigo para de funcionar; coloque o novo onde o bot roda e remova o antigo do seu código ou do histórico.

Seu bot online sem o seu PC

A hospedagem de bots do Discord da HytHost roda Node.js, Python, Java, Go, C#, Bun ou Lavalink com banco de dados MySQL e backups, a partir de €0.89/mês.

Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hours

Este guia foi útil?