Å lage din første Discord-bot er enklere enn du tror. Du trenger ikke en informatikkgrad eller år med programmeringserfaring. I 2026 tar det å bygge og distribuere en funksjonell bot en helg hvis du er fokusert.
Denne guiden tar deg gjennom hele prosessen: registrere boten din, skrive den første kommandoen, teste den lokalt og distribuere den live. Til slutt vil du ha en bot som kjører på serveren din.
Forstå hva en Discord-bot er
En Discord-bot er et program som kobler til Discord via API-et og svarer på hendelser: når noen skriver en kommando, reagerer på en melding, melder seg på serveren osv.
Nøkkelbegreper:
- Applikasjon vs. Bot: «Applikasjonen» din er registrert i Discord Utviklerportal. «Boten» er brukerkontoen knyttet til den applikasjonen. Én applikasjon har én bot.
- Tokens: En hemmelig nøkkel som autentiserer boten din. Del aldri dette. Det er som et passord til boten.
- Intenter: Tillatelser som lar boten se visse hendelser (meldinger, reaksjoner, membre-statusendringer osv.). Du aktiverer bare det du trenger.
- Kommandoer: Boter svarer på kommandoer. Moderne boter bruker slash-kommandoer (
/kommando) i stedet for prefiks-kommandoer (!kommando). Slash-kommandoer er offisielt støttet og anbefalt. - Hendelser: Boten lytter etter Discord-hendelser (melding sendt, reaksjon lagt til, membre ble med) og reagerer på dem.
Steg 1: Registrer boten i Discord Utviklerportal
Her eksisterer boten din offisielt i Discords system.
Prosess:
- Gå til Discord Utviklerportal
- Logg inn med Discord-kontoen din
- Klikk «Ny applikasjon»
- Gi den et navn (f.eks. «Min første bot»)
- Klikk «Opprett»
- Du er nå i applikasjonsinnstillingene
Opprett nå bot-brukeren:
- Gå til «Bot»-seksjonen (venstre sidefeltet)
- Klikk «Legg til bot»
- Under botens brukernavn vil du se en «TOKEN»-knapp
- Kopier token-en — dette er slik boten din autentiserer. Hold dette hemmelig. Del den aldri offentlig eller commit den til GitHub uten kryptering.
Konfigurer bot-innstillinger:
- Aktiver «Meldingsinnholds-intent» (lar boten lese meldingstekst)
- Aktiver «Servermedlemmer-intent» (lar boten se hvem som er på serveren)
- Rull ned til «OAuth2»-seksjonen
Steg 2: Generer botens invitasjonslenke
Du trenger en spesiell invitasjonslenke for å legge til boten på en server.
I Utviklerportalen:
- Gå til «OAuth2» → «URL-generator»
- Under «OMFANG», huk av:
bot - Under «TILLATELSER», velg hva boten kan gjøre:
Send meldinger(viktig for enhver bot)Administrer meldinger(hvis du modererer)Legg til reaksjoner(hvis bot reagerer på ting)Koble til+Snakk(hvis det er en musikk-/stemme-bot)- For læring, velg bare
Send meldinger+Les meldinger(minimum levedyktig)
- Kopier den genererte URL-en nederst
- Del denne URL-en med servereiere (eller bruk den selv for å legge til din egen testserver)
Ikke bruk Administrator-tillatelse med mindre absolutt nødvendig. Over-tillatelse er en sikkerhetsrisiko.
Steg 3: Velg språk og rammeverk
To hovedalternativer for nybegynnere:
JavaScript (discord.js)
Discord.js er det mest populære Discord-bot-rammeverket. Stort fellesskap, mange opplæringer og utmerket dokumentasjon.
Fordeler:
- Størst fellesskap og flest opplæringer på nett
- discord.js-dokumentasjonen er utmerket
- Node.js er mye brukt og lett å lære
- Enkel distribusjon til de fleste hosting-plattformer
Ulemper:
- JavaScript har særheter (async/await-læringskurve)
- Node.js legger til minneoverhead vs. Python
Kom i gang:
- Installer Node.js (v18+)
- Opprett en prosjektmappe
npm init -ynpm install discord.js
Python (discord.py)
Enklere syntaks, flott for nybegynnere, utmerket for å lære grunnleggende.
Fordeler:
- Enklest syntaks å lære
- Intuitiv for nybegynnere
- discord.py-dokumentasjonen er god
- Python brukes overalt (datavitenskapsmenn, web, automatisering)
Ulemper:
- Mindre fellesskap enn discord.js (men fortsatt stort)
- Færre opplæringer enn JavaScript
- Litt høyere minnebruk
Kom i gang:
- Installer Python 3.10+
- Opprett en prosjektmappe
pip install discord.py
Anbefaling for nybegynnere: Hvis du kan Python, bruk discord.py. Hvis du kan JavaScript, bruk discord.js. Hvis du kan ingen av dem, er Python lettere å lære, men JavaScript har mer ressurser på nett. Velg én og forplikter deg.
Steg 4: Skriv din første bot (Python-eksempel)
Her er en minimal fungerende Discord-bot i Python som svarer på en kommando:
import discord
from discord.ext import commands
# Opprett bot med kommandoprefiks og intenter
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 koblet til Discord!')
@bot.command(name='hei', help='Sier hei')
async def hei(ctx):
await ctx.send(f'Hei {ctx.author.name}!')
@bot.command(name='ping', help='Svarer med pong')
async def ping(ctx):
await ctx.send('Pong!')
bot.run('DIN_TOKEN_HER')
Hva dette gjør:
- Kobler til Discord
- Lytter etter
!hei- og!ping-kommandoer - Svarer med en melding når det utløses
For å kjøre det:
- Erstatt
'DIN_TOKEN_HER'med din faktiske token fra Steg 1 - Lagre som
bot.py - Kjør:
python bot.py - I Discord, skriv
!heii en kanal - Bot svarer: «Hei [DittNavn]!»
Steg 5: Test lokalt
Før du distribuerer, test boten lokalt (på datamaskinen din).
Sett opp en testserver:
- Opprett en privat Discord-server for testing
- Legg boten til ved hjelp av invitasjonslenken fra Steg 2
- Kjør bot-koden lokalt
- Skriv kommandoer i testserveren
- Se etter feil i terminalen; fiks dem
Vanlige feil:
- «Ugyldig token» — Du kopierte token-en feil eller den er utløpt. Generer på nytt i Utviklerportalen.
- «Mangler tillatelser» — Bot har ikke tillatelse til å utføre den handlingen i denne kanalen. Legg til tillatelser eller bruk en kanal der boten har flere rettigheter.
- «Intenter er ikke aktivert» — Du må aktivere intenter i Utviklerportalen (Meldingsinnholds-intent, Servermedlemmer-intent osv.)
Test grundig. En bot med feil i produksjon er pinlig.
Steg 6: Legg til flere kommandoer
Nå som du forstår grunnleggende, utvid med flere funksjoner.
Python-eksempel — en enkel økonomikommando:
@bot.command(name='saldo', help='Sjekk myntsaldoen din')
async def saldo(ctx):
# I en ekte bot ville dette spørre en database
# For nå, returner bare en mock-verdi
await ctx.send(f'{ctx.author.name}, du har 100 mynter!')
@bot.command(name='rull', help='Rull en terning (1-6)')
async def rull(ctx):
import random
resultat = random.randint(1, 6)
await ctx.send(f'{ctx.author.name} rullet: **{resultat}**')
Hver kommando er en enkel funksjon. Legg til så mange du vil.
Steg 7: Distribuer boten
Hosting lokalt fungerer for testing, men boten stopper når du lukker laptopen. Distribuer til en server slik at den kjører 24/7.
Gratis hosting-alternativer
Replit (enklest for nybegynnere):
- Gå til Replit.com
- Opprett ny Repl → Python (eller Node.js)
- Lim inn bot-koden
- Klikk «Kjør»
- Replit hoster det gratis (med begrensninger: kan sove etter inaktivitet)
Railway.app (moderne, pålitelig):
- Gå til Railway.app
- Koble til GitHub (eller last opp filer direkte)
- Opprett nytt prosjekt → velg boten din
- Railway distribuerer automatisk
- Gratisnivå inkluderer $5 månedlig kreditt
Glitch (ligner Replit):
- Gå til Glitch.com
- Opprett nytt prosjekt
- Lim inn kode
- Glitch holder det kjørende (innenfor gratisnivå-grenser)
Viktig: Ikke hard-kod token-en i koden du pusher til GitHub. Bruk miljøvariabler:
import os
from dotenv import load_dotenv
load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')
bot.run(TOKEN)
Opprett en .env-fil lokalt (legg til i .gitignore slik at den ikke committes):
DISCORD_TOKEN=din_faktiske_token_her
På Replit/Railway, sett token-en som en hemmelig miljøvariabel i plattforminnstillingene (ikke i kode).
Vanlige nybegynnerfeil
Feil 1: Hard-kode token-en Legg aldri token-en i kode du pusher til GitHub. Boter med lekkede tokens er øyeblikkelig kompromittert. Bruk miljøvariabler.
Feil 2: Ikke håndtere feil Boten krasjer ved uventet input. Legg til feilhåndtering:
@bot.command()
async def del_opp(ctx, a: int, b: int):
try:
resultat = a / b
await ctx.send(resultat)
except ZeroDivisionError:
await ctx.send('Kan ikke dele på null!')
except ValueError:
await ctx.send('Vennligst oppgi gyldige tall!')
Feil 3: Ikke respektere hastighetsbegrensninger Discord begrenser hvor raskt du kan sende meldinger. Ikke spam API-et. Legg til forsinkelser mellom massehandlinger.
Feil 4: Ignorere intenter Mange nybegynnersboter feiler fordi de ikke aktiverer nødvendige intenter i Utviklerportalen. Sjekk intentene boten trenger før distribusjon.
Feil 5: For ambisiøst omfang Ikke prøv å bygge et økonomi-system, moderering, musikk og 50 kommandoer i den første boten. Start med 3-5 enkle kommandoer. Utvid når du er komfortabel.
Neste steg
Nå som du har en grunnleggende bot:
- Utvid funksjonalitet: Legg til flere kommandoer, bruk databaser for å vedvare data, implementer kompleks logikk
- Bruk slash-kommandoer: Moderne
/kommando-syntaks i stedet for prefikskommandoer - Legg til reaksjoner: La brukere klikke knapper eller reagere med emojis
- Koble til en database: Lagre brukerdata, mynter, preferanser (SQLite for nybegynnere, PostgreSQL for skala)
- Bli med i fellesskap: Discord bot-utviklerfellesskap (reddit.com/r/discordbots, Discord.js støtteserver) har svar på hvert spørsmål
Ressurser
- discord.js-dokumentasjon: https://discord.js.org
- discord.py-dokumentasjon: https://discordpy.readthedocs.io
- Discord API-dokumentasjon: https://discord.com/developers/docs/intro
- YouTube-opplæringer: Søk etter «[discord.js/discord.py] tutorial» — enorme mengder innhold
Din første Discord-bot er et helgeprosjekt. Den første gode Discord-boten er en måneds praksis. Den første boten brukt av 1 000 servere er måneder med iterasjon, funksjonsutvikling og felskapsbygging. Start nå, iterer konstant og ikke overtenk det.