Discord · Guia

Como criar um bot de Discord

Atualizado October 10, 2026 5 min de leitura

Nesta página
  1. Passo 1: Crie a aplicação 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 o seu bot online
  7. FAQ

Um bot de Discord é um programa que inicia sessão no Discord com a sua própria conta e responde a comandos, modera, joga ou publica novidades. Para criar um são precisas três coisas: uma aplicação no Developer Portal do Discord, algumas linhas de código e um sítio onde esse código possa correr.

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

Passo 1: Crie a aplicação e o token do bot

  1. Abra o Developer Portal. Aceda a discord.com/developers/applications, crie uma nova aplicação e dê-lhe um nome.
  2. Obtenha o token. Na página Bot, clique em Reset Token e copie-o. O Discord mostra-o apenas uma vez; se o perder, reponha-o de novo.
  3. Mantenha o token secreto. É a palavra-passe do bot: quem o tiver controla o seu bot. Nunca o cole em código que partilhe nem o envie para o Git.
Precisa de intents? Um bot que só usa comandos de barra não precisa de nenhum intent privilegiado. Ative Message Content na página Bot apenas se o bot tiver de ler o que as pessoas escrevem em mensagens normais. Os bots em servidores com mais de 10 000 utilizadores precisam da aprovação do Discord para os intents privilegiados.

Passo 2: Convide o bot para o seu servidor

  1. Abra a página Installation da sua aplicação.
  2. Nas definições de instalação predefinidas para servidores, adicione os scopes bot e applications.commands e as permissões de que o bot precisa: Send Messages chega para este guia.
  3. Abra a ligação de instalação fornecida, escolha o seu servidor e autorize. O bot aparece na lista de membros, offline até o seu código correr.

Os tutoriais mais antigos usam OAuth2 > URL Generator com os mesmos dois scopes; continua a funcionar.

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

O discord.py 2.7 requer Python 3.8 ou mais recente. Instale-o 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"])

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

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

O discord.js 14 requer Node.js 18 ou mais recente. Numa pasta nova, execute 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-o com DISCORD_TOKEN=your-token node index.js. Quando a consola mostrar Logged in, escreva /ping no seu servidor.

Mantenha o token fora do código

  • Use uma variável de ambiente ou um ficheiro .env, e adicione .env ao .gitignore antes do primeiro commit.
  • Se o token for divulgado, reponha-o de imediato na página Bot. O token antigo deixa de funcionar e atualiza o novo onde o bot corre.
  • O GitHub analisa os repositórios públicos à procura de tokens de bots de Discord e comunica-os ao Discord, que os pode revogar; por isso, um token enviado por engano muitas vezes deixa de funcionar antes de dar por isso.

Passo 4: Mantenha o seu bot online

O seu bot só está online enquanto o código corre. Feche o terminal ou desligue o PC, e ele fica offline. Tem três opções:

  • O seu próprio PC: gratuito e adequado para desenvolver e testar, mas o bot adormece quando o computador adormece.
  • Um plano gratuito: a maioria suspende ou limita os bots que correm o mês inteiro; as vantagens e desvantagens são comparadas em alojamento gratuito de bots de Discord.
  • Alojamento de bots: um pequeno servidor sempre ligado. No alojamento de bots de Discord da HytHost carrega o seu projeto, escolhe Node.js, Python ou outro runtime, e o painel inicia o bot e reinicia-o se falhar.

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

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

Ver planos de alojamento de bots
FAQ

Perguntas frequentes

Sim. Criar a aplicação, o token e o código não custa nada, e o discord.py e o discord.js são gratuitos. Só paga se quiser alojá-lo num sítio que fique sempre online.

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

Verifique se o convidou com o scope applications.commands e se o código sincronizou os comandos. Os comandos globais podem demorar um momento a aparecer; se não aparecerem, reinicie o Discord.

Ler o texto das mensagens normais requer o intent Message Content, ativado no Developer Portal e pedido no código. Sem ele, o bot continua a receber comandos de barra, menções e mensagens diretas.

Reponha-o de imediato na página Bot do Developer Portal. O token antigo deixa de funcionar; coloque o novo onde o bot corre e remova o antigo do código ou do histórico.

O seu bot online sem o seu PC

O alojamento de bots de Discord da HytHost corre Node.js, Python, Java, Go, C#, Bun ou Lavalink com base de dados MySQL e cópias de segurança, desde €0.89/mês.

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

Este guia foi útil?