Att skapa din första Discord-bot är enklare än du tror. Du behöver ingen datavetenskaplig examen eller år av programmeringserfarenhet. År 2026 tar det en helg att bygga och driftsätta en funktionell bot om du är fokuserad.
Den här guiden leder dig genom hela processen: registrera din bot, skriva ditt första kommando, testa det lokalt och driftsätta det live. I slutet kommer du att ha en bot som körs på din server.
Förstå vad en Discord-bot är
En Discord-bot är ett program som ansluter till Discord via API:et och svarar på händelser: när någon skriver ett kommando, reagerar på ett meddelande, går med i servern osv.
Nyckelbegrepp:
- Applikation vs. Bot: Din "applikation" är registrerad i Discord Developer Portal. "Boten" är användarkontot som är associerat med den applikationen. En applikation har en bot.
- Tokens: En hemlig nyckel som autentiserar din bot. Dela aldrig detta. Det är som ett lösenord till din bot.
- Intents: Behörigheter som låter din bot se vissa händelser (meddelanden, reaktioner, medlemsstatusändringar osv.). Du aktiverar bara det du behöver.
- Kommandon: Bottar svarar på kommandon. Moderna bottar använder snedstreckskommandon (
/kommando) istället för prefixkommandon (!kommando). Snedstreckskommandon stöds officiellt och rekommenderas. - Händelser: Din bot lyssnar efter Discord-händelser (meddelande skickat, reaktion tillagd, medlem ansluten) och reagerar på dem.
Steg 1: Registrera din bot i Discord Developer Portal
Det är här din bot officiellt existerar i Discors system.
Process:
- Gå till Discord Developer Portal
- Logga in med ditt Discord-konto
- Klicka på "New Application"
- Namnge den (t.ex. "Min första bot")
- Klicka på "Create"
- Du är nu i dina applikationsinställningar
Skapa nu bot-användaren:
- Gå till avsnittet "Bot" (vänster sidofält)
- Klicka på "Add Bot"
- Under botens användarnamn ser du en "TOKEN"-knapp
- Kopiera token – det är så din bot autentiseras. Håll detta hemligt. Dela det aldrig offentligt eller commit det till GitHub utan kryptering.
Konfigurera bot-inställningar:
- Aktivera "Message Content Intent" (låter boten läsa meddelandetext)
- Aktivera "Server Members Intent" (låter boten se vem som är på servern)
- Scrolla ner till avsnittet "OAuth2"
Steg 2: Generera din bots inbjudningslänk
Du behöver en speciell inbjudningslänk för att lägga till boten på en server.
I Developer Portal:
- Gå till "OAuth2" → "URL Generator"
- Under "SCOPES", kryssa i:
bot - Under "PERMISSIONS", välj vad din bot kan göra:
Send Messages(väsentligt för alla bottar)Manage Messages(om du modererar)Add Reactions(om boten reagerar på saker)Connect+Speak(om det är en musik-/röstbot)- För inlärning, välj bara
Send Messages+Read Messages(minsta möjliga)
- Kopiera den genererade URL:en längst ner
- Dela denna URL med serverägare (eller använd den själv för att lägga till på din egen testserver)
Använd inte administratörsbehörighet om det inte är absolut nödvändigt. Överdriven behörighet är en säkerhetsrisk.
Steg 3: Välj ditt språk och ramverk
Två huvudalternativ för nybörjare:
JavaScript (discord.js)
Discord.js är det mest populära Discord-botramverket. Stor community, massor av handledningar och utmärkt dokumentation.
Fördelar:
- Största communityn och flest handledningar online
- discord.js-dokumentationen är utmärkt
- Node.js används i stor utsträckning och är lätt att lära sig
- Enkel driftsättning till de flesta hostingplattformar
Nackdelar:
- JavaScript har egenheter (async/await inlärningskurva)
- Node.js lägger till minnesoverhead jämfört med Python
Kom igång:
- Installera Node.js (v18+)
- Skapa en projektmapp
npm init -ynpm install discord.js
Python (discord.py)
Enklare syntax, bra för nybörjare, utmärkt för att lära sig grunderna.
Fördelar:
- Enklaste syntaxen att lära sig
- Intuitivt för nybörjare
- discord.py-dokumentationen är bra
- Python används överallt (data science, webb, automatisering)
Nackdelar:
- Mindre community än discord.js (men fortfarande stor)
- Färre handledningar än JavaScript
- Något högre minnesanvändning
Kom igång:
- Installera Python 3.10+
- Skapa en projektmapp
pip install discord.py
Rekommendation för nybörjare: Om du kan Python, använd discord.py. Om du kan JavaScript, använd discord.js. Om du inte kan något av dem är Python lättare att lära sig, men JavaScript har fler resurser online. Välj en och åta dig.
Steg 4: Skriv din första bot (Python-exempel)
Här är en minimal fungerande Discord-bot i Python som svarar på ett kommando:
import discord
from discord.ext import commands
# Skapa bot med kommandoprefix och 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 anslutit till Discord!')
@bot.command(name='hello', help='Säger hej')
async def hello(ctx):
await ctx.send(f'Hej {ctx.author.name}!')
@bot.command(name='ping', help='Svarar med pong')
async def ping(ctx):
await ctx.send('Pong!')
bot.run('YOUR_TOKEN_HERE')
Vad detta gör:
- Ansluter till Discord
- Lyssnar efter
!hello- och!ping-kommandon - Svarar med ett meddelande när det utlöses
För att köra det:
- Ersätt
'YOUR_TOKEN_HERE'med din faktiska token från steg 1 - Spara som
bot.py - Kör:
python bot.py - I Discord, skriv
!helloi valfri kanal - Bot svarar: "Hej [DittNamn]!"
Steg 5: Testa lokalt
Innan du driftsätter, testa din bot lokalt (på din dator).
Konfigurera en testserver:
- Skapa en privat Discord-server för testning
- Lägg till din bot på den med hjälp av inbjudningslänken från steg 2
- Kör din bot-kod lokalt
- Skriv kommandon i testservern
- Håll utkik efter fel i din terminal; åtgärda dem
Vanliga fel:
- "Invalid token" – Du kopierade token fel eller den har löpt ut. Återskapa i Developer Portal.
- "Missing permissions" – Boten har inte behörighet att utföra den åtgärden i den här kanalen. Lägg till behörigheter eller använd en kanal där boten har fler rättigheter.
- "Intents are not enabled" – Du måste aktivera intents i Developer Portal (Message Content Intent, Server Members Intent osv.)
Testa noggrant. En bot med buggar i produktion är pinsamt.
Steg 6: Lägg till fler kommandon
Nu när du förstår grunderna, expandera med fler funktioner.
Python-exempel – ett enkelt ekonomikomando:
@bot.command(name='balance', help='Kontrollera ditt myntsaldo')
async def balance(ctx):
# I en riktig bot skulle detta fråga en databas
# För nu, returnera bara ett mock-värde
await ctx.send(f'{ctx.author.name}, du har 100 mynt!')
@bot.command(name='roll', help='Slå en tärning (1-6)')
async def roll(ctx):
import random
result = random.randint(1, 6)
await ctx.send(f'{ctx.author.name} slog: **{result}**')
Varje kommando är en enkel funktion. Lägg till så många du vill.
Steg 7: Driftsätt din bot
Att hosta lokalt fungerar för testning, men din bot slutar när du stänger din bärbara dator. Driftsätt till en server så att den körs dygnet runt.
Gratis hostingalternativ
Replit (enklast för nybörjare):
- Gå till Replit.com
- Skapa ny Repl → Python (eller Node.js)
- Klistra in din bot-kod
- Klicka på "Run"
- Replit hostar det gratis (med begränsningar: kan sova efter inaktivitet)
Railway.app (modernt, pålitligt):
- Gå till Railway.app
- Anslut GitHub (eller ladda upp filer direkt)
- Skapa nytt projekt → välj din bot
- Railway driftsätter automatiskt
- Gratisnivån inkluderar 5 dollar i månadskredit
Glitch (liknar Replit):
- Gå till Glitch.com
- Skapa nytt projekt
- Klistra in kod
- Glitch håller det igång (inom gratisnivåns gränser)
Viktigt: Hårdkoda inte din token i koden du pushar till GitHub. Använd miljövariabler:
import os
from dotenv import load_dotenv
load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')
bot.run(TOKEN)
Skapa en .env-fil lokalt (lägg till i .gitignore så att den inte commitas):
DISCORD_TOKEN=din_faktiska_token_här
På Replit/Railway, ställ in token som en hemlig miljövariabel i plattformens inställningar (inte i koden).
Vanliga nybörjarmisstag
Misstag 1: Hårdkoda token Lägg aldrig din token i kod du pushar till GitHub. Bottar med läckta tokens komprometteras omedelbart. Använd miljövariabler.
Misstag 2: Hantera inte fel Din bot kraschar vid oväntad inmatning. Lägg till felhantering:
@bot.command()
async def divide(ctx, a: int, b: int):
try:
result = a / b
await ctx.send(result)
except ZeroDivisionError:
await ctx.send('Kan inte dividera med noll!')
except ValueError:
await ctx.send('Vänligen ange giltiga nummer!')
Misstag 3: Respektera inte hastighetsbegränsningar Discord begränsar hur snabbt du kan skicka meddelanden. Spamma inte API:et. Lägg till fördröjningar mellan massåtgärder.
Misstag 4: Ignorera intents Många nybörjarbottar misslyckas eftersom de inte aktiverar nödvändiga intents i Developer Portal. Kontrollera de intents din bot behöver innan du driftsätter.
Misstag 5: För ambitiöst omfång Försök inte att bygga ett ekonomisystem, moderering, musik och 50 kommandon i din första bot. Börja med 3-5 enkla kommandon. Expandera när du är bekväm.
Nästa steg
Nu när du har en grundläggande bot:
- Expandera funktionaliteten: Lägg till fler kommandon, använd databaser för att bevara data, implementera komplex logik
- Använd snedstreckskommandon: Modern
/kommando-syntax istället för prefixkommandon - Lägg till reaktioner: Låt användare klicka på knappar eller reagera med emojis
- Anslut en databas: Lagra användardata, mynt, preferenser (SQLite för nybörjare, PostgreSQL för skala)
- Gå med i communities: Discord-botutvecklarcommunities (reddit.com/r/discordbots, Discord.js support server) har svar på alla frågor
Resurser
- discord.js-dokumentation: https://discord.js.org
- discord.py-dokumentation: https://discordpy.readthedocs.io
- Discord API-dokument: https://discord.com/developers/docs/intro
- YouTube-handledningar: Sök "[discord.js/discord.py] tutorial" – enorm mängd innehåll
Din första Discord-bot är ett helgprojekt. Din första bra Discord-bot är en månad av övning. Din första bot som används av 1 000 servrar är månader av iteration, funktionsutveckling och communitybyggande. Börja nu, iterera ständigt och tänk inte för mycket på det.