Pular para o conteúdo principal

Estrutura do Bot Node.js

Para o BotGate Hosting rodar seu bot perfeitamente, precisamos que seu código siga algumas regras simples de organização. 🚀


1. O arquivo package.json (Obrigatório)

O BotGate usa o npm para gerenciar dependências e rodar seu bot. É essencial que o seu arquivo de manifesto na raiz (package.json) contenha duas coisas:

  • Seção dependencies: Listando todas as bibliotecas que seu bot usa (ex: discord.js).
  • Script "start": É o comando que o BotGate usará para ligar o servidor.

📝 Exemplo de package.json:

{
"name": "meu-bot-divertido",
"version": "1.0.0",
"description": "Um bot super legal",
"main": "index.js",
"scripts": {
"start": "node index.js"
},
"dependencies": {
"discord.js": "^14.0.0",
"dotenv": "^16.0.0"
}
}

2. O arquivo principal index.js (ou server.js)

Seu arquivo de entrada pode ter qualquer nome, desde que ele esteja apontado no script no seu package.json.

Exemplo de index.js:

const { Client, GatewayIntentBits } = require('discord.js');
const client = new Client({ intents: [GatewayIntentBits.Guilds] });

// Ponto crucial: Use a variável de ambiente PORT (Opcional, mas recomendado para o painel)
const PORT = process.env.PORT || 3000;

client.on('ready', () => {
console.log(`🤖 Logado como ${client.user.tag}!`);
});

client.login(process.env.DISCORD_TOKEN);

3. A Variável PORT 🔌

O BotGate Hosting injeta automaticamente uma variável de ambiente chamada PORT dentro do seu container. Se o seu bot tiver um servidor HTTP (ex: Webhook, Express ou Sharding), configure-o para escutar nessa porta.


4. Boas Práticas (O que NÃO fazer!) 🚫

  • NÃO suba o node_modules: O BotGate irá deletar essa pasta e rodar um npm install limpo para garantir compatibilidade. Isso diminui o tamanho do seu ZIP drasticamente. 🗑️
  • NOME de pastas: Evite nomes de pastas com espaços ou caracteres especiais complexos na raiz do sistema.
  • DADOS PERSISTENTES: Use bancos de dados externos (como o MongoDB do MongoDB Atlas ou PostgreSQL do Supabase) ou as tabelas nativas de persistência do BotGate.

🚀 Resumo:

  1. package.json na raiz com script "start".
  2. index.js (ou similar) como o ponto de entrada.
  3. Dependências listadas formalmente.

💡 Próxima etapa: Deploy do Bot. 🦾⚡️🦾