Como criar um Bot de Discord com JavaScript
Criar um bot para o Discord usando JavaScript é relativamente simples. Neste artigo, vamos criar um bot básico usando Node.js e a biblioteca discord.js.
1. Criando o projeto
Primeiro, crie uma pasta para o projeto e inicialize um projeto Node.js:
mkdir meu-bot-discord
cd meu-bot-discord
npm init -y
Depois, instale a biblioteca discord.js:
npm install discord.js
2. Criando o Bot no Discord
Acesse o Discord Developer Portal e crie uma nova aplicação.
Depois:
- Crie uma aplicação.
- Acesse a seção Bot.
- Clique em Add Bot.
- Copie o Token do bot.
- Vá até OAuth2 > URL Generator.
- Selecione os escopos
boteapplications.commands. - Escolha as permissões desejadas.
- Use a URL gerada para adicionar o bot ao seu servidor.
⚠️ Nunca compartilhe o token do seu bot. Ele funciona como uma senha e permite controlar o bot.
3. Criando o código
Crie um arquivo chamado index.js:
const {
Client,
GatewayIntentBits
} = require('discord.js');
const client = new Client({
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMessages,
GatewayIntentBits.MessageContent
]
});
client.once('ready', () => {
console.log(`Bot conectado como ${client.user.tag}`);
});
client.on('messageCreate', (message) => {
if (message.author.bot) return;
if (message.content === '!ping') {
message.reply('Pong! 🏓');
}
});
client.login(process.env.DISCORD_TOKEN);
4. Configurando o Token
Para evitar colocar o token diretamente no código, podemos utilizar uma variável de ambiente.
Instale o pacote dotenv:
npm install dotenv
Crie um arquivo .env:
DISCORD_TOKEN=SEU_TOKEN_AQUI
Depois, altere o início do index.js:
require('dotenv').config();
const {
Client,
GatewayIntentBits
} = require('discord.js');
O código completo ficará assim:
require('dotenv').config();
const {
Client,
GatewayIntentBits
} = require('discord.js');
const client = new Client({
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMessages,
GatewayIntentBits.MessageContent
]
});
client.once('ready', () => {
console.log(`Bot conectado como ${client.user.tag}`);
});
client.on('messageCreate', (message) => {
if (message.author.bot) return;
if (message.content === '!ping') {
message.reply('Pong! 🏓');
}
});
client.login(process.env.DISCORD_TOKEN);
5. Executando o Bot
Execute o projeto com:
node index.js
Se tudo estiver correto, você verá no terminal algo parecido com:
Bot conectado como MeuBot#1234
Agora, dentro do servidor do Discord onde o bot foi adicionado, envie:
!ping
O bot responderá:
Pong! 🏓
Conclusão
Com poucas linhas de JavaScript já é possível criar um bot funcional para o Discord. A partir desse ponto, você pode adicionar slash commands, comandos personalizados, integração com APIs, sistemas de moderação, bancos de dados e diversas outras funcionalidades.
Uma boa evolução para o projeto é substituir os comandos baseados em mensagens, como !ping, por Slash Commands, que são o padrão moderno de interação com bots do Discord.