Black Friday: eerste maand gratis per kwartaal · t/m 30 nov Bekijk de pakketten Voorwaarden
Nieuw hier? Probeer een Minecraft-server of Discord-bot 24 uur gratis. Gratis proberen
ServerSparkServerSpark

Kennisbank

Discord-bot maken met JavaScript (discord.js)

Maak je eerste Discord-bot met een slash-commando in discord.js en zet hem 24/7 online.

NVMe-nodesNachtelijke back-upsBinnen minuten online

Bijgewerkt op 2 november 2026

Een eigen Discord-bot maken in JavaScript kan in een kwartier. In deze handleiding maak je met discord.js een bot met een eerste slash-commando, /ping, en zet je hem daarna 24/7 online. Je hebt Node.js 18 of nieuwer nodig op je eigen computer.

1. Maak de bot aan bij Discord

  1. Ga naar het Discord Developer Portal, log in en klik op New Application. Geef je bot een naam.
  2. Ga naar Bot en klik op Reset Token. Kopieer het token. Dit is het wachtwoord van je bot: deel het met niemand.
  3. Ga naar OAuth2 → URL Generator. Vink bij Scopes bot en applications.commands aan, en bij Bot Permissions bijvoorbeeld Send Messages.
  4. Open de link onderaan in je browser en voeg de bot toe aan je eigen server.

2. Schrijf de code

Maak een map met drie bestanden.

package.json:

{
  "name": "my-discord-bot",
  "main": "index.js",
  "dependencies": {
    "discord.js": "^14.0.0",
    "dotenv": "^16.0.0"
  }
}

.env (vervang de tekst door je eigen token):

DISCORD_TOKEN=jouw-token-hier

index.js:

require('dotenv').config(); // leest DISCORD_TOKEN uit het bestand .env
const { Client, Events, GatewayIntentBits, SlashCommandBuilder } = require('discord.js');

const client = new Client({ intents: [GatewayIntentBits.Guilds] });

const commands = [
  new SlashCommandBuilder().setName('ping').setDescription('Kijk of de bot online is'),
];

client.once(Events.ClientReady, async (c) => {
  await c.application.commands.set(commands); // meldt de slash-commando's aan bij Discord
  console.log(`Ingelogd als ${c.user.tag}`);
});

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

client.login(process.env.DISCORD_TOKEN);

3. Test hem op je eigen computer

  1. Installeer de pakketten: npm install
  2. Start de bot: node index.js
  3. Zie je "Ingelogd als ..."? Typ dan in je Discord-server /ping. Het kan een paar minuten duren voordat het commando voor het eerst verschijnt.

Sluit je het venster of zet je je computer uit, dan gaat de bot offline. Daarvoor is hosting.

4. Zet hem 24/7 online

Met bothosting van ServerSpark draait je bot dag en nacht, voor €0,69 per maand (per kwartaal betaald):

  1. Bestel Bothosting (Node.js). Op je server staat deze voorbeeldbot al klaar: zet alleen je token in .env onder Bestanden en ga naar de laatste stap. Gebruik je je eigen code?
  2. Upload index.js, package.json en .env in SparkPanel onder Bestanden (de map node_modules hoeft niet mee). De server start standaard index.js en installeert de pakketten uit package.json vanzelf.
  3. Klik in de Console op Start. Crasht de bot, dan wordt hij automatisch opnieuw gestart.

Meer over uploaden, Git en het startbestand lees je in Discord-bot 24/7 online zetten. Liever Python? Lees Discord-bot maken in Python.

Volgende stappen

  • Voeg meer commando's toe aan de lijst commands en vang ze af in InteractionCreate.
  • Wil je berichten lezen (bijvoorbeeld voor een moderatiebot)? Zet dan in het Developer Portal onder Bot de Message Content Intent aan en voeg GatewayIntentBits.GuildMessages en GatewayIntentBits.MessageContent toe aan de intents.