Det er nemmere end du tror at oprette din første Discord-bot. Du behøver ikke en datalogisk eksamen eller års programmeringserfaring. I 2026 tager det en weekend at bygge og implementere en funktionel bot, hvis du er fokuseret.
Denne guide fører dig gennem hele processen: registrering af din bot, skrivning af din første kommando, test lokalt og implementering live. Ved slutningen har du en bot, der kører på din server.
Forståelse af, hvad en Discord-bot er
En Discord-bot er et program, der opretter forbindelse til Discord via API'en og reagerer på begivenheder: når nogen skriver en kommando, reagerer på en besked, tilmelder sig serveren osv.
Nøglebegreber:
- Applikation vs. Bot: Din "applikation" er registreret i Discord Developer Portal. "Botten" er den brugerkonto, der er knyttet til den pågældende applikation. En applikation har en bot.
- Tokens: En hemmelig nøgle, der godkender din bot. Del aldrig dette. Det er som en adgangskode til din bot.
- Intents: Tilladelser, der giver din bot mulighed for at se visse begivenheder (beskeder, reaktioner, ændringer i medlemsstatus osv.). Du aktiverer kun det, du har brug for.
- Kommandoer: Bots reagerer på kommandoer. Moderne bots bruger slash-kommandoer (
/kommando) i stedet for præfikskommandoer (!kommando). Slash-kommandoer understøttes officielt og anbefales. - Begivenheder: Din bot lytter efter Discord-begivenheder (besked sendt, reaktion tilføjet, medlem tilmeldt) og reagerer på dem.
Trin 1: Registrer din bot i Discord Developer Portal
Det er her, din bot officielt findes i Discors system.
Proces:
- Gå til Discord Developer Portal
- Log ind med din Discord-konto
- Klik på "New Application"
- Navngiv den (f.eks. "My First Bot")
- Klik på "Create"
- Du er nu i dine applikationsindstillinger
Opret nu bot-brugeren:
- Gå til sektionen "Bot" (venstre sidepanel)
- Klik på "Add Bot"
- Under bottens brugernavn ser du en "TOKEN"-knap
- Kopier tokenet – det er sådan, din bot godkendes. Hold dette hemmeligt. Del det aldrig offentligt, eller overfør det til GitHub uden kryptering.
Konfigurer bot-indstillinger:
- Aktiver "Message Content Intent" (lader botten læse beskedtekst)
- Aktiver "Server Members Intent" (lader botten se, hvem der er på serveren)
- Rul ned til sektionen "OAuth2"
Trin 2: Generer din bots invitationslink
Du har brug for et specielt invitationslink for at føje botten til en server.
I Developer Portal:
- Gå til "OAuth2" → "URL Generator"
- Under "SCOPES" skal du markere:
bot - Under "PERMISSIONS" skal du vælge, hvad din bot kan gøre:
Send Messages(væsentligt for enhver bot)Manage Messages(hvis du modererer)Add Reactions(hvis botten reagerer på ting)Connect+Speak(hvis det er en musik-/stemmebot)- Til læring skal du bare vælge
Send Messages+Read Messages(minimum levedygtig)
- Kopier den genererede URL nederst
- Del denne URL med serverejere (eller brug den selv til at føje til din egen testserver)
Brug ikke administratortilladelse, medmindre det er absolut nødvendigt. Overdreven tilladelse er en sikkerhedsrisiko.
Trin 3: Vælg dit sprog og framework
To hovedmuligheder for begyndere:
JavaScript (discord.js)
Discord.js er det mest populære Discord-bot-framework. Stort fællesskab, masser af tutorials og fremragende dokumentation.
Fordele:
- Største fællesskab og flest tutorials online
- discord.js-dokumentationen er fremragende
- Node.js er meget brugt og let at lære
- Nem implementering til de fleste hostingplatforme
Ulemper:
- JavaScript har særheder (async/await-indlæringskurve)
- Node.js tilføjer hukommelsesoverhead vs. Python
Kom godt i gang:
- Installer Node.js (v18+)
- Opret en projektmappe
npm init -ynpm install discord.js
Python (discord.py)
Enklere syntaks, fantastisk til begyndere, fremragende til at lære det grundlæggende.
Fordele:
- Letteste syntaks at lære
- Intuitivt for begyndere
- discord.py-dokumentationen er god
- Python bruges overalt (datavidenskab, web, automatisering)
Ulemper:
- Mindre fællesskab end discord.js (men stadig stort)
- Færre tutorials end JavaScript
- Lidt højere hukommelsesforbrug
Kom godt i gang:
- Installer Python 3.10+
- Opret en projektmappe
pip install discord.py
Anbefaling til begyndere: Hvis du kender Python, skal du bruge discord.py. Hvis du kender JavaScript, skal du bruge discord.js. Hvis du ikke kender nogen af dem, er Python lettere at lære, men JavaScript har flere ressourcer online. Vælg en og forpligt dig.
Trin 4: Skriv din første bot (Python-eksempel)
Her er en minimalt fungerende Discord-bot i Python, der reagerer på en kommando:
import discord
from discord.ext import commands
# Opret bot med kommandopræfiks og 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} har oprettet forbindelse til Discord!')
@bot.command(name='hello', help='Siger hej')
async def hello(ctx):
await ctx.send(f'Hej {ctx.author.name}!')
@bot.command(name='ping', help='Svarer med pong')
async def ping(ctx):
await ctx.send('Pong!')
bot.run('YOUR_TOKEN_HERE')
Hvad dette gør:
- Opretter forbindelse til Discord
- Lytter efter kommandoerne
!helloog!ping - Svarer med en besked, når den udløses
Sådan køres den:
- Erstat
'YOUR_TOKEN_HERE'med dit faktiske token fra trin 1 - Gem som
bot.py - Kør:
python bot.py - I Discord skal du skrive
!helloi en hvilken som helst kanal - Bot svarer: "Hej [DitNavn]!"
Trin 5: Test lokalt
Før du implementerer, skal du teste din bot lokalt (på din computer).
Konfigurer en testserver:
- Opret en privat Discord-server til test
- Føj din bot til den ved hjælp af invitationslinket fra trin 2
- Kør din bot-kode lokalt
- Skriv kommandoer på testserveren
- Hold øje med fejl i din terminal; ret dem
Almindelige fejl:
- "Invalid token" – Du kopierede tokenet forkert, eller det er udløbet. Generer igen i Developer Portal.
- "Missing permissions" – Botten har ikke tilladelse til at udføre den handling i denne kanal. Tilføj tilladelser, eller brug en kanal, hvor botten har flere rettigheder.
- "Intents are not enabled" – Du skal aktivere intents i Developer Portal (Message Content Intent, Server Members Intent osv.)
Test grundigt. En bot med fejl i produktionen er pinligt.
Trin 6: Tilføj flere kommandoer
Nu hvor du forstår det grundlæggende, kan du udvide med flere funktioner.
Python-eksempel – en simpel økonomikommando:
@bot.command(name='balance', help='Tjek din møntsaldo')
async def balance(ctx):
# I en rigtig bot ville dette forespørge en database
# For nu skal du bare returnere en falsk værdi
await ctx.send(f'{ctx.author.name}, du har 100 mønter!')
@bot.command(name='roll', help='Rul en terning (1-6)')
async def roll(ctx):
import random
result = random.randint(1, 6)
await ctx.send(f'{ctx.author.name} rullede: **{result}**')
Hver kommando er en simpel funktion. Tilføj så mange du vil.
Trin 7: Implementer din bot
Lokal hosting fungerer til test, men din bot stopper, når du lukker din bærbare computer. Implementer til en server, så den kører 24/7.
Gratis hostingmuligheder
Replit (lettest for begyndere):
- Gå til Replit.com
- Opret ny Repl → Python (eller Node.js)
- Indsæt din bot-kode
- Klik på "Run"
- Replit hoster det gratis (med begrænsninger: kan sove efter inaktivitet)
Railway.app (moderne, pålidelig):
- Gå til Railway.app
- Opret forbindelse til GitHub (eller upload filer direkte)
- Opret nyt projekt → vælg din bot
- Railway implementeres automatisk
- Gratis niveau inkluderer $5 månedlig kredit
Glitch (ligner Replit):
- Gå til Glitch.com
- Opret nyt projekt
- Indsæt kode
- Glitch holder den kørende (inden for gratis niveaugrænser)
Vigtigt: Hardkod ikke dit token i den kode, du skubber til GitHub. Brug miljøvariabler:
import os
from dotenv import load_dotenv
load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')
bot.run(TOKEN)
Opret en .env-fil lokalt (føj til .gitignore, så den ikke overføres):
DISCORD_TOKEN=your_actual_token_here
På Replit/Railway skal du indstille tokenet som en hemmelig miljøvariabel i platformindstillingerne (ikke i kode).
Almindelige begynderfejl
Fejl 1: Hardkodning af tokenet Læg aldrig dit token i kode, du skubber til GitHub. Bots med lækkede tokens kompromitteres øjeblikkeligt. Brug miljøvariabler.
Fejl 2: Håndtering af fejl Din bot går ned ved uventet input. Tilføj fejlhåndtering:
@bot.command()
async def divide(ctx, a: int, b: int):
try:
result = a / b
await ctx.send(result)
except ZeroDivisionError:
await ctx.send('Kan ikke dividere med nul!')
except ValueError:
await ctx.send('Indtast gyldige tal!')
Fejl 3: Manglende overholdelse af hastighedsbegrænsninger Discord begrænser, hvor hurtigt du kan sende beskeder. Spam ikke API'en. Tilføj forsinkelser mellem massehandlinger.
Fejl 4: Ignorering af intents Mange begynderbots fejler, fordi de ikke aktiverer de nødvendige intents i Developer Portal. Tjek de intents, din bot har brug for, før du implementerer.
Fejl 5: For ambitiøst omfang Forsøg ikke at bygge et økonomisystem, moderation, musik og 50 kommandoer i din første bot. Start med 3-5 simple kommandoer. Udvid, når du er komfortabel.
Næste trin
Nu hvor du har en grundlæggende bot:
- Udvid funktionaliteten: Tilføj flere kommandoer, brug databaser til at bevare data, implementer kompleks logik
- Brug slash-kommandoer: Moderne
/kommando-syntaks i stedet for præfikskommandoer - Tilføj reaktioner: Lad brugerne klikke på knapper eller reagere med emojis
- Opret forbindelse til en database: Gem brugerdata, mønter, præferencer (SQLite for begyndere, PostgreSQL for skala)
- Deltag i fællesskaber: Discord-bot-udviklerfællesskaber (reddit.com/r/discordbots, Discord.js-supportserver) har svar på alle spørgsmål
Ressourcer
- discord.js-dokumentation: https://discord.js.org
- discord.py-dokumentation: https://discordpy.readthedocs.io
- Discord API-dokumenter: https://discord.com/developers/docs/intro
- YouTube-tutorials: Søg efter "[discord.js/discord.py] tutorial" – enorm mængde indhold
Din første Discord-bot er et weekendprojekt. Din første gode Discord-bot er en måneds øvelse. Din første bot, der bruges af 1.000 servere, er måneders iteration, funktionsudvikling og opbygning af fællesskab. Start nu, gentag konstant, og overvej det ikke for meget.