Hoe om jou eerste Discord-bot in 2026 te skep met behulp van JavaScript (discord.js) of Python (discord.py) — van registrasie tot ontplooiing, stap vir stap.
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 →Om jou eerste Discord-bot te skep, is makliker as wat jy dink. Jy het nie 'n rekenaarwetenskapgraad of jare se programmeringservaring nodig nie. In 2026 neem die bou en ontplooiing van 'n funksionele bot 'n naweek as jy gefokus is.
Hierdie gids neem jou deur die hele proses: die registrasie van jou bot, die skryf van jou eerste opdrag, die toets daarvan plaaslik en die ontplooiing daarvan regstreeks. Aan die einde sal jy 'n bot op jou bediener laat loop.
'n Discord-bot is 'n program wat via die API aan Discord koppel en op gebeurtenisse reageer: wanneer iemand 'n opdrag tik, op 'n boodskap reageer, by die bediener aansluit, ens.
Sleutelkonsepte:
/opdrag) in plaas van voorvoegselopdragte (!opdrag). Slash-opdragte word amptelik ondersteun en aanbeveel.Dit is waar jou bot amptelik in Discord se stelsel bestaan.
Proses:
Skep nou die botgebruiker:
Konfigureer botinstellings:
Jy het 'n spesiale uitnodigingskakel nodig om die bot by 'n bediener te voeg.
In die ontwikkelaarportaal:
botStuur boodskappe (noodsaaklik vir enige bot)Bestuur boodskappe (as jy modereer)Voeg reaksies by (as bot op dinge reageer)Koppel + Praat (as dit 'n musiek-/stembot is)Stuur boodskappe + Lees boodskappe (minimum lewensvatbaar)Moenie Administrateurtoestemming gebruik nie, tensy absoluut noodsaaklik. Oor-toestemming is 'n veiligheidsrisiko.
Twee hoofopsies vir beginners:
Discord.js is die gewildste Discord-botraamwerk. Groot gemeenskap, tonne tutoriale en uitstekende dokumentasie.
Voordele:
Nadele:
Begin:
npm init -ynpm install discord.jsEenvoudiger sintaksis, ideaal vir beginners, uitstekend om grondbeginsels te leer.
Voordele:
Nadele:
Begin:
pip install discord.pyAanbeveling vir beginners: As jy Python ken, gebruik discord.py. As jy JavaScript ken, gebruik discord.js. As jy geen van beide ken nie, is Python makliker om te leer, maar JavaScript het meer hulpbronne aanlyn. Kies een en verbind jou daartoe.
Hier is 'n minimale werkende Discord-bot in Python wat op 'n opdrag reageer:
import discord
from discord.ext import commands
# Skep bot met opdragvoorvoegsel en 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} het aan Discord gekoppel!')
@bot.command(name='hello', help='Sê hallo')
async def hello(ctx):
await ctx.send(f'Hallo {ctx.author.name}!')
@bot.command(name='ping', help='Reageer met pong')
async def ping(ctx):
await ctx.send('Pong!')
bot.run('YOUR_TOKEN_HERE')
Wat dit doen:
!hello- en !ping-opdragteOm dit te laat loop:
'YOUR_TOKEN_HERE' met jou werklike token van Stap 1bot.pypython bot.py!hello in enige kanaalVoordat jy ontplooi, toets jou bot plaaslik (op jou rekenaar).
Stel 'n toetsbediener op:
Algemene foute:
Toets deeglik. 'n Bot met foute in produksie is verleentheid.
Noudat jy die basiese beginsels verstaan, brei uit met meer funksies.
Python-voorbeeld — 'n eenvoudige ekonomie-opdrag:
@bot.command(name='balance', help='Gaan jou muntbalans na')
async def balance(ctx):
# In 'n regte bot sal dit 'n databasis navraag doen
# Vir nou, gee net 'n spotwaarde terug
await ctx.send(f'{ctx.author.name}, jy het 100 munte!')
@bot.command(name='roll', help='Rol 'n dobbelsteen (1-6)')
async def roll(ctx):
import random
result = random.randint(1, 6)
await ctx.send(f'{ctx.author.name} het gerol: **{result}**')
Elke opdrag is 'n eenvoudige funksie. Voeg soveel by as wat jy wil.
Plaaslike aanbieding werk vir toetsing, maar jou bot stop wanneer jy jou skootrekenaar toemaak. Ontplooi na 'n bediener sodat dit 24/7 loop.
Replit (maklikste vir beginners):
Railway.app (modern, betroubaar):
Glitch (soortgelyk aan Replit):
Belangrik: Moenie jou token hardkodeer in die kode wat jy na GitHub stoot nie. Gebruik omgewingsveranderlikes:
import os
from dotenv import load_dotenv
load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')
bot.run(TOKEN)
Skep 'n .env-lêer plaaslik (voeg by .gitignore sodat dit nie gestuur word nie):
DISCORD_TOKEN=jou_werklike_token_hier
Stel die token op Replit/Railway as 'n geheime omgewingsveranderlike in die platforminstellings (nie in kode nie).
Fout 1: Hardkodering van die token Moet nooit jou token in kode plaas wat jy na GitHub stoot nie. Bots met uitgelekde tokens word onmiddellik gekompromitteer. Gebruik omgewingsveranderlikes.
Fout 2: Nie hantering van foute nie Jou bot stort neer op onverwagte invoer. Voeg fout hantering by:
@bot.command()
async def divide(ctx, a: int, b: int):
try:
result = a / b
await ctx.send(result)
except ZeroDivisionError:
await ctx.send('Kan nie deur nul deel nie!')
except ValueError:
await ctx.send('Voer asseblief geldige getalle in!')
Fout 3: Nie respektering van tempobeperkings nie Discord beperk hoe vinnig jy boodskappe kan stuur. Moenie die API spam nie. Voeg vertragings tussen grootmaataksies by.
Fout 4: Ignoreer intents Baie beginnerbots misluk omdat hulle nie die nodige intents in die ontwikkelaarportaal aktiveer nie. Gaan die intents na wat jou bot nodig het voordat jy ontplooi.
Fout 5: Te ambisieuse omvang Moenie probeer om 'n ekonomiestelsel, moderering, musiek en 50 opdragte in jou eerste bot te bou nie. Begin met 3-5 eenvoudige opdragte. Brei uit sodra jy gemaklik is.
Noudat jy 'n basiese bot het:
/opdrag-sintaksis in plaas van voorvoegselopdragteJou eerste Discord-bot is 'n naweekprojek. Jou eerste goeie Discord-bot is 'n maand se oefening. Jou eerste bot wat deur 1 000 bedieners gebruik word, is maande se iterasie, funksie-ontwikkeling en gemeenskapsbou. Begin nou, herhaal voortdurend en moenie te veel daaroor dink nie.