Hur du skapar din första Discord-bot år 2026 med JavaScript (discord.js) eller Python (discord.py) – från registrering till driftsättning, steg för steg.
Grow your server faster with Rally
Rally gives server owners community management tools, member engagement features, and discovery placement — all in one bot. Add it to your server in 2 minutes.
Add Rally to your server →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.
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:
/kommando) istället för prefixkommandon (!kommando). Snedstreckskommandon stöds officiellt och rekommenderas.Det är här din bot officiellt existerar i Discors system.
Process:
Skapa nu bot-användaren:
Konfigurera bot-inställningar:
Du behöver en speciell inbjudningslänk för att lägga till boten på en server.
I Developer Portal:
botSend 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)Send Messages + Read Messages (minsta möjliga)Använd inte administratörsbehörighet om det inte är absolut nödvändigt. Överdriven behörighet är en säkerhetsrisk.
Två huvudalternativ för nybörjare:
Discord.js är det mest populära Discord-botramverket. Stor community, massor av handledningar och utmärkt dokumentation.
Fördelar:
Nackdelar:
Kom igång:
npm init -ynpm install discord.jsEnklare syntax, bra för nybörjare, utmärkt för att lära sig grunderna.
Fördelar:
Nackdelar:
Kom igång:
pip install discord.pyRekommendation 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.
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:
!hello- och !ping-kommandonFör att köra det:
'YOUR_TOKEN_HERE' med din faktiska token från steg 1bot.pypython bot.py!hello i valfri kanalInnan du driftsätter, testa din bot lokalt (på din dator).
Konfigurera en testserver:
Vanliga fel:
Testa noggrant. En bot med buggar i produktion är pinsamt.
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.
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.
Replit (enklast för nybörjare):
Railway.app (modernt, pålitligt):
Glitch (liknar Replit):
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).
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.
Nu när du har en grundläggande bot:
/kommando-syntax istället för prefixkommandonDin 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.