Het maken van je eerste Discord-bot is eenvoudiger dan je denkt. Je hebt geen diploma informatica of jarenlange programmeerervaring nodig. In 2026 kost het bouwen en implementeren van een functionele bot een weekend als je gefocust bent.
Deze handleiding leidt je door het hele proces: het registreren van je bot, het schrijven van je eerste commando, het lokaal testen en het live implementeren. Aan het einde heb je een bot die op je server draait.
Begrijpen wat een Discord-bot is
Een Discord-bot is een programma dat via de API verbinding maakt met Discord en reageert op gebeurtenissen: wanneer iemand een commando typt, reageert op een bericht, lid wordt van de server, enz.
Belangrijkste concepten:
- Applicatie vs. Bot: Je "applicatie" is geregistreerd in de Discord Developer Portal. De "bot" is de gebruikersaccount die aan die applicatie is gekoppeld. Eén applicatie heeft één bot.
- Tokens: Een geheime sleutel die je bot authenticeert. Deel dit nooit. Het is als een wachtwoord voor je bot.
- Intents: Machtigingen waarmee je bot bepaalde gebeurtenissen kan zien (berichten, reacties, statuswijzigingen van leden, enz.). Je schakelt alleen in wat je nodig hebt.
- Commando's: Bots reageren op commando's. Moderne bots gebruiken slash-commando's (
/command) in plaats van prefix-commando's (!command). Slash-commando's worden officieel ondersteund en aanbevolen. - Gebeurtenissen: Je bot luistert naar Discord-gebeurtenissen (bericht verzonden, reactie toegevoegd, lid lid geworden) en reageert erop.
Stap 1: Registreer je bot in de Discord Developer Portal
Dit is waar je bot officieel bestaat in het systeem van Discord.
Proces:
- Ga naar Discord Developer Portal
- Log in met je Discord-account
- Klik op "New Application"
- Geef het een naam (bijv. "Mijn eerste bot")
- Klik op "Create"
- Je bevindt je nu in je applicatie-instellingen
Maak nu de botgebruiker:
- Ga naar de sectie "Bot" (linkerzijbalk)
- Klik op "Add Bot"
- Onder de gebruikersnaam van de bot zie je een "TOKEN"-knop
- Kopieer het token - dit is hoe je bot authenticeert. Houd dit geheim. Deel het nooit openbaar of commit het naar GitHub zonder encryptie.
Configureer de botinstellingen:
- Schakel "Message Content Intent" in (laat de bot berichttekst lezen)
- Schakel "Server Members Intent" in (laat de bot zien wie er op de server is)
- Scroll naar beneden naar de sectie "OAuth2"
Stap 2: Genereer de uitnodigingslink van je bot
Je hebt een speciale uitnodigingslink nodig om de bot aan een server toe te voegen.
In Developer Portal:
- Ga naar "OAuth2" → "URL Generator"
- Vink onder "SCOPES" aan:
bot - Selecteer onder "PERMISSIONS" wat je bot kan doen:
Send Messages(essentieel voor elke bot)Manage Messages(als je aan het modereren bent)Add Reactions(als de bot op dingen reageert)Connect+Speak(als het een muziek-/spraakbot is)- Selecteer voor het leren gewoon
Send Messages+Read Messages(minimaal levensvatbaar)
- Kopieer de gegenereerde URL onderaan
- Deel deze URL met servereigenaren (of gebruik deze zelf om toe te voegen aan je eigen testserver)
Gebruik geen beheerdersrechten tenzij absoluut noodzakelijk. Overmatige machtigingen zijn een beveiligingsrisico.
Stap 3: Kies je taal en framework
Twee hoofdopties voor beginners:
JavaScript (discord.js)
Discord.js is het meest populaire Discord-botframework. Enorme community, tonnen tutorials en uitstekende documentatie.
Voordelen:
- Grootste community en de meeste tutorials online
- discord.js-documentatie is uitstekend
- Node.js wordt veel gebruikt en is gemakkelijk te leren
- Eenvoudige implementatie op de meeste hostingplatforms
Nadelen:
- JavaScript heeft eigenaardigheden (async/await-leercurve)
- Node.js voegt geheugenoverhead toe in vergelijking met Python
Aan de slag:
- Installeer Node.js (v18+)
- Maak een projectmap
npm init -ynpm install discord.js
Python (discord.py)
Eenvoudigere syntaxis, geweldig voor beginners, uitstekend voor het leren van de basisprincipes.
Voordelen:
- Gemakkelijkste syntaxis om te leren
- Intuïtief voor beginners
- discord.py-documentatie is goed
- Python wordt overal gebruikt (data science, web, automatisering)
Nadelen:
- Kleinere community dan discord.js (maar nog steeds groot)
- Minder tutorials dan JavaScript
- Iets hoger geheugengebruik
Aan de slag:
- Installeer Python 3.10+
- Maak een projectmap
pip install discord.py
Aanbeveling voor beginners: Als je Python kent, gebruik dan discord.py. Als je JavaScript kent, gebruik dan discord.js. Als je geen van beide kent, is Python gemakkelijker te leren, maar JavaScript heeft meer resources online. Kies er een en zet je in.
Stap 4: Schrijf je eerste bot (Python-voorbeeld)
Hier is een minimale werkende Discord-bot in Python die reageert op een commando:
import discord
from discord.ext import commands
# Create bot with command prefix and intents
intents = discord.Intents.default()
intents.message_content = True
bot = commands.Bot(command_prefix='!', intents=intents)
@bot.event
async def on_ready():
print(f'{bot.user} has connected to Discord!')
@bot.command(name='hello', help='Says hello')
async def hello(ctx):
await ctx.send(f'Hello {ctx.author.name}!')
@bot.command(name='ping', help='Responds with pong')
async def ping(ctx):
await ctx.send('Pong!')
bot.run('YOUR_TOKEN_HERE')
Wat dit doet:
- Maakt verbinding met Discord
- Luistert naar
!hello- en!ping-commando's - Reageert met een bericht wanneer geactiveerd
Om het uit te voeren:
- Vervang
'YOUR_TOKEN_HERE'door je daadwerkelijke token uit stap 1 - Sla op als
bot.py - Voer uit:
python bot.py - Typ in Discord
!helloin een willekeurig kanaal - Bot reageert: "Hello [JeNaam]!"
Stap 5: Test lokaal
Test je bot lokaal (op je computer) voordat je hem implementeert.
Stel een testserver in:
- Maak een privé-Discord-server om te testen
- Voeg je bot eraan toe met behulp van de uitnodigingslink uit stap 2
- Voer je botcode lokaal uit
- Typ commando's in de testserver
- Let op fouten in je terminal; repareer ze
Veelvoorkomende fouten:
- "Invalid token" - Je hebt het token verkeerd gekopieerd of het is verlopen. Genereer opnieuw in Developer Portal.
- "Missing permissions" - Bot heeft geen toestemming om die actie in dit kanaal uit te voeren. Voeg machtigingen toe of gebruik een kanaal waar de bot meer rechten heeft.
- "Intents are not enabled" - Je moet intents inschakelen in Developer Portal (Message Content Intent, Server Members Intent, enz.)
Test grondig. Een bot met bugs in productie is gênant.
Stap 6: Meer commando's toevoegen
Nu je de basisprincipes begrijpt, breid je uit met meer functies.
Python-voorbeeld - een eenvoudig economiecommando:
@bot.command(name='balance', help='Check your coin balance')
async def balance(ctx):
# In a real bot, this would query a database
# For now, just return a mock value
await ctx.send(f'{ctx.author.name}, you have 100 coins!')
@bot.command(name='roll', help='Roll a dice (1-6)')
async def roll(ctx):
import random
result = random.randint(1, 6)
await ctx.send(f'{ctx.author.name} rolled: **{result}**')
Elk commando is een eenvoudige functie. Voeg er zoveel toe als je wilt.
Stap 7: Implementeer je bot
Lokale hosting werkt voor testen, maar je bot stopt wanneer je je laptop sluit. Implementeer op een server zodat deze 24/7 draait.
Gratis hostingopties
Replit (gemakkelijkst voor beginners):
- Ga naar Replit.com
- Maak een nieuwe Repl → Python (of Node.js)
- Plak je botcode
- Klik op "Run"
- Replit host het gratis (met beperkingen: kan slapen na inactiviteit)
Railway.app (modern, betrouwbaar):
- Ga naar Railway.app
- Verbind GitHub (of upload bestanden rechtstreeks)
- Maak een nieuw project → selecteer je bot
- Railway implementeert automatisch
- Gratis laag bevat $ 5 maandelijkse tegoed
Glitch (vergelijkbaar met Replit):
- Ga naar Glitch.com
- Maak een nieuw project
- Plak code
- Glitch houdt het draaiende (binnen de limieten van de gratis laag)
Belangrijk: Hardcode je token niet in de code die je naar GitHub pusht. Gebruik omgevingsvariabelen:
import os
from dotenv import load_dotenv
load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')
bot.run(TOKEN)
Maak lokaal een .env-bestand (voeg toe aan .gitignore zodat het niet wordt vastgelegd):
DISCORD_TOKEN=your_actual_token_here
Stel op Replit/Railway het token in als een geheime omgevingsvariabele in de platforminstellingen (niet in code).
Veelvoorkomende beginnersfouten
Fout 1: Het token hardcoderen Zet je token nooit in code die je naar GitHub pusht. Bots met gelekte tokens worden onmiddellijk gecompromitteerd. Gebruik omgevingsvariabelen.
Fout 2: Geen fouten afhandelen Je bot crasht bij onverwachte invoer. Voeg foutafhandeling toe:
@bot.command()
async def divide(ctx, a: int, b: int):
try:
result = a / b
await ctx.send(result)
except ZeroDivisionError:
await ctx.send('Cannot divide by zero!')
except ValueError:
await ctx.send('Please enter valid numbers!')
Fout 3: Snelheidslimieten niet respecteren Discord beperkt hoe snel je berichten kunt verzenden. Spam de API niet. Voeg vertragingen toe tussen bulkacties.
Fout 4: Intents negeren Veel beginnerbots falen omdat ze de nodige intents niet inschakelen in Developer Portal. Controleer de intents die je bot nodig heeft voordat je hem implementeert.
Fout 5: Te ambitieuze scope Probeer niet een economisch systeem, moderatie, muziek en 50 commando's in je eerste bot te bouwen. Begin met 3-5 eenvoudige commando's. Breid uit zodra je je comfortabel voelt.
Volgende stappen
Nu je een basisbot hebt:
- Functionaliteit uitbreiden: Meer commando's toevoegen, databases gebruiken om gegevens te bewaren, complexe logica implementeren
- Slash-commando's gebruiken: Moderne
/command-syntaxis in plaats van prefix-commando's - Reacties toevoegen: Laat gebruikers op knoppen klikken of reageren met emoji's
- Een database verbinden: Gebruikersgegevens, munten, voorkeuren opslaan (SQLite voor beginners, PostgreSQL voor schaal)
- Lid worden van communities: Discord-botontwikkelaarscommunities (reddit.com/r/discordbots, Discord.js-ondersteuningsserver) hebben antwoorden op elke vraag
Bronnen
- discord.js-documentatie: https://discord.js.org
- discord.py-documentatie: https://discordpy.readthedocs.io
- Discord API-documenten: https://discord.com/developers/docs/intro
- YouTube-tutorials: Zoek "[discord.js/discord.py] tutorial" - enorme hoeveelheid content
Je eerste Discord-bot is een weekendproject. Je eerste goede Discord-bot is een maand oefenen. Je eerste bot die door 1.000 servers wordt gebruikt, is maanden van iteratie, functieontwikkeling en communitybuilding. Begin nu, herhaal voortdurend en denk er niet te veel over na.