Az első Discord bot létrehozása könnyebb, mint gondolnád. Nincs szükséged számítástechnikai diplomára vagy évekig tartó programozási tapasztalatra. 2026-ban egy működő bot felépítése és telepítése egy hétvégét vesz igénybe, ha koncentrálsz.
Ez az útmutató végigvezet a teljes folyamaton: a bot regisztrálásától, az első parancs megírásától, a helyi tesztelésen át az éles telepítésig. A végére lesz egy botod, amely fut a szervereden.
Annak megértése, hogy mi az a Discord bot
A Discord bot egy olyan program, amely az API-n keresztül csatlakozik a Discordhoz, és reagál az eseményekre: amikor valaki beír egy parancsot, reagál egy üzenetre, csatlakozik a szerverhez stb.
Főbb fogalmak:
- Alkalmazás vs. Bot: Az "alkalmazásod" a Discord Fejlesztői Portálon van regisztrálva. A "bot" az az alkalmazáshoz tartozó felhasználói fiók. Egy alkalmazáshoz egy bot tartozik.
- Tokenek: Egy titkos kulcs, amely hitelesíti a botodat. Soha ne oszd meg ezt. Olyan, mint egy jelszó a botodhoz.
- Szándékok: Engedélyek, amelyek lehetővé teszik a botod számára, hogy bizonyos eseményeket lásson (üzenetek, reakciók, tagok állapotváltozásai stb.). Csak azt engedélyezd, amire szükséged van.
- Parancsok: A botok parancsokra reagálnak. A modern botok perjelparancsokat (
/parancs) használnak a prefix parancsok (!parancs) helyett. A perjelparancsok hivatalosan támogatottak és ajánlottak. - Események: A botod figyeli a Discord eseményeket (üzenet küldése, reakció hozzáadása, tag csatlakozása), és reagál rájuk.
1. lépés: Regisztráld a botodat a Discord Fejlesztői Portálon
Itt létezik hivatalosan a botod a Discord rendszerében.
Folyamat:
- Menj a Discord Fejlesztői Portálra
- Jelentkezz be a Discord fiókoddal
- Kattints az "Új alkalmazás" gombra
- Nevezd el (pl. "Az első botom")
- Kattints a "Létrehozás" gombra
- Most az alkalmazás beállításaiban vagy
Most hozd létre a bot felhasználót:
- Menj a "Bot" szakaszba (bal oldali oldalsáv)
- Kattints a "Bot hozzáadása" gombra
- A bot felhasználóneve alatt látni fogsz egy "TOKEN" gombot
- Másold ki a tokent – így hitelesíti magát a botod. Tartsd ezt titokban. Soha ne oszd meg nyilvánosan, és ne commitáld a GitHubra titkosítás nélkül.
Konfiguráld a bot beállításait:
- Engedélyezd az "Üzenettartalom szándékot" (lehetővé teszi a bot számára az üzenetszöveg olvasását)
- Engedélyezd a "Szervertagok szándékot" (lehetővé teszi a bot számára, hogy lássa, ki van a szerveren)
- Görgess le az "OAuth2" szakaszhoz
2. lépés: Generáld a botod meghívó linkjét
Szükséged van egy speciális meghívó linkre a bot hozzáadásához egy szerverhez.
A Fejlesztői Portálon:
- Menj az "OAuth2" → "URL generátor" részhez
- A "HATÓKÖRÖK" alatt jelöld be:
bot - Az "ENGEDÉLYEK" alatt válaszd ki, hogy mit tehet a botod:
Üzenetek küldése(elengedhetetlen minden bot számára)Üzenetek kezelése(ha moderálsz)Reakciók hozzáadása(ha a bot reagál dolgokra)Csatlakozás+Beszéd(ha zene/hang bot)- A tanuláshoz csak a
Üzenetek küldése+Üzenetek olvasásalehetőséget válaszd (minimálisan életképes)
- Másold ki a generált URL-t az alján
- Oszd meg ezt az URL-t a szervertulajdonosokkal (vagy használd magad a saját tesztszerveredhez való hozzáadáshoz)
Ne használj Rendszergazdai engedélyt, hacsak feltétlenül szükséges. A túlzott engedélyezés biztonsági kockázatot jelent.
3. lépés: Válaszd ki a nyelvedet és a keretrendszeredet
Két fő lehetőség a kezdők számára:
JavaScript (discord.js)
A Discord.js a legnépszerűbb Discord bot keretrendszer. Hatalmas közösség, rengeteg oktatóanyag és kiváló dokumentáció.
Előnyök:
- A legnagyobb közösség és a legtöbb oktatóanyag online
- A discord.js dokumentációja kiváló
- A Node.js széles körben használt és könnyen megtanulható
- Könnyű telepítés a legtöbb tárhelyplatformra
Hátrányok:
- A JavaScriptnek vannak furcsaságai (aszinkron/await tanulási görbe)
- A Node.js memóriaterhelést ad a Pythonhoz képest
Kezdés:
- Telepítsd a Node.js (v18+)
- Hozz létre egy projekt mappát
npm init -ynpm install discord.js
Python (discord.py)
Egyszerűbb szintaxis, nagyszerű kezdőknek, kiváló az alapok elsajátításához.
Előnyök:
- A legkönnyebb szintaxis a tanuláshoz
- Intuitív a kezdők számára
- A discord.py dokumentációja jó
- A Pythont mindenhol használják (adattudomány, web, automatizálás)
Hátrányok:
- Kisebb közösség, mint a discord.js (de még mindig nagy)
- Kevesebb oktatóanyag, mint a JavaScript
- Kicsit magasabb memóriahasználat
Kezdés:
- Telepítsd a Python 3.10+
- Hozz létre egy projekt mappát
pip install discord.py
Ajánlás kezdőknek: Ha tudsz Pythont, használd a discord.py-t. Ha tudsz JavaScriptet, használd a discord.js-t. Ha egyiket sem tudod, a Pythont könnyebb megtanulni, de a JavaScripthez több erőforrás áll rendelkezésre online. Válassz egyet, és kötelezd el magad.
4. lépés: Írd meg az első botodat (Python példa)
Itt van egy minimális működő Discord bot Pythonban, amely reagál egy parancsra:
import discord
from discord.ext import commands
# Bot létrehozása parancselőtaggal és szándékokkal
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} csatlakozott a Discordhoz!')
@bot.command(name='hello', help='Köszön')
async def hello(ctx):
await ctx.send(f'Szia {ctx.author.name}!')
@bot.command(name='ping', help='Ponggal válaszol')
async def ping(ctx):
await ctx.send('Pong!')
bot.run('IDE_ÍRD_A_TOKENED')
Mit csinál ez:
- Csatlakozik a Discordhoz
- Figyeli a
!helloés!pingparancsokat - Üzenettel válaszol, ha aktiválódik
A futtatáshoz:
- Cseréld le az
'IDE_ÍRD_A_TOKENED'szöveget a tényleges tokenedre az 1. lépésből - Mentsd el
bot.pynéven - Futtasd:
python bot.py - A Discordban írd be a
!helloparancsot bármelyik csatornába - A bot válaszol: "Szia [A neved]!"
5. lépés: Teszteld helyben
A telepítés előtt teszteld a botodat helyben (a számítógépeden).
Állíts be egy tesztszervert:
- Hozz létre egy privát Discord szervert a teszteléshez
- Add hozzá a botodat a 2. lépésben kapott meghívó link segítségével
- Futtasd a botkódodat helyben
- Írj be parancsokat a tesztszerveren
- Figyeld a hibákat a terminálban; javítsd ki őket
Gyakori hibák:
- "Érvénytelen token" – Rosszul másoltad a tokent, vagy lejárt. Generáld újra a Fejlesztői Portálon.
- "Hiányzó engedélyek" – A botnak nincs engedélye erre a műveletre ebben a csatornában. Adj hozzá engedélyeket, vagy használj egy olyan csatornát, ahol a botnak több joga van.
- "A szándékok nincsenek engedélyezve" – Engedélyezned kell a szándékokat a Fejlesztői Portálon (Üzenettartalom szándék, Szervertagok szándék stb.)
Teszteld alaposan. Egy hibás bot éles környezetben kínos.
6. lépés: Adj hozzá több parancsot
Most, hogy érted az alapokat, bővítsd több funkcióval.
Python példa – egy egyszerű gazdasági parancs:
@bot.command(name='egyenleg', help='Ellenőrizd az érmeegyenlegedet')
async def egyenleg(ctx):
# Egy igazi botban ez egy adatbázist kérdezne le
# Egyelőre csak egy próbaértéket ad vissza
await ctx.send(f'{ctx.author.name}, 100 érméd van!')
@bot.command(name='dobás', help='Dobj egy kockával (1-6)')
async def dobás(ctx):
import random
result = random.randint(1, 6)
await ctx.send(f'{ctx.author.name} dobott: **{result}**')
Minden parancs egy egyszerű függvény. Adj hozzá annyit, amennyit csak akarsz.
7. lépés: Telepítsd a botodat
A helyi tárhely a teszteléshez működik, de a botod leáll, amikor bezárod a laptopodat. Telepítsd egy szerverre, hogy 24 órában fusson.
Ingyenes tárhely lehetőségek
Replit (a legkönnyebb a kezdőknek):
- Menj a Replit.com oldalra
- Hozz létre egy új Repl-t → Python (vagy Node.js)
- Illeszd be a botkódodat
- Kattints a "Futtatás" gombra
- A Replit ingyenesen tárolja (korlátozásokkal: inaktivitás után alhat)
Railway.app (modern, megbízható):
- Menj a Railway.app oldalra
- Csatlakoztasd a GitHubot (vagy töltsd fel a fájlokat közvetlenül)
- Hozz létre egy új projektet → válaszd ki a botodat
- A Railway automatikusan telepíti
- Az ingyenes szint 5 dolláros havi kreditet tartalmaz
Glitch (hasonló a Replithez):
- Menj a Glitch.com oldalra
- Hozz létre egy új projektet
- Illeszd be a kódot
- A Glitch futtatja (az ingyenes szint korlátain belül)
Fontos: Ne kódold bele a tokent a GitHubra feltöltött kódba. Használj környezeti változókat:
import os
from dotenv import load_dotenv
load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')
bot.run(TOKEN)
Hozz létre egy .env fájlt helyben (add hozzá a .gitignore fájlhoz, hogy ne kerüljön commitálásra):
DISCORD_TOKEN=a_tenyleges_tokened_ide
A Repliten/Railwayen állítsd be a tokent titkos környezeti változóként a platform beállításaiban (nem a kódban).
Gyakori kezdő hibák
1. hiba: A token belekódolása Soha ne tedd a tokent a GitHubra feltöltött kódba. A kiszivárgott tokenekkel rendelkező botok azonnal kompromittálódnak. Használj környezeti változókat.
2. hiba: A hibák kezelésének elmulasztása A botod váratlan bemenetre összeomlik. Adj hozzá hibakezelést:
@bot.command()
async def osztás(ctx, a: int, b: int):
try:
result = a / b
await ctx.send(result)
except ZeroDivisionError:
await ctx.send('Nullával nem lehet osztani!')
except ValueError:
await ctx.send('Kérlek, érvényes számokat adj meg!')
3. hiba: A sebességkorlátok figyelmen kívül hagyása A Discord korlátozza, hogy milyen gyorsan küldhetsz üzeneteket. Ne spammeld az API-t. Adj hozzá késleltetéseket a tömeges műveletek között.
4. hiba: A szándékok figyelmen kívül hagyása Sok kezdő bot megbukik, mert nem engedélyezi a szükséges szándékokat a Fejlesztői Portálon. Telepítés előtt ellenőrizd a botod által igényelt szándékokat.
5. hiba: Túl ambiciózus hatókör Ne próbálj meg gazdasági rendszert, moderálást, zenét és 50 parancsot építeni az első botodban. Kezdd 3-5 egyszerű paranccsal. Bővítsd, ha már kényelmesen érzed magad.
Következő lépések
Most, hogy van egy alap botod:
- Bővítsd a funkcionalitást: Adj hozzá több parancsot, használj adatbázisokat az adatok megőrzéséhez, implementálj komplex logikát
- Használj perjelparancsokat: Modern
/parancsszintaxis a prefix parancsok helyett - Adj hozzá reakciókat: Engedd, hogy a felhasználók gombokra kattintsanak vagy emojikkal reagáljanak
- Csatlakoztass egy adatbázist: Tárold a felhasználói adatokat, érméket, beállításokat (SQLite kezdőknek, PostgreSQL a skálázáshoz)
- Csatlakozz közösségekhez: A Discord bot fejlesztői közösségek (reddit.com/r/discordbots, Discord.js támogatási szerver) minden kérdésre választ adnak
Erőforrások
- discord.js dokumentáció: https://discord.js.org
- discord.py dokumentáció: https://discordpy.readthedocs.io
- Discord API dokumentáció: https://discord.com/developers/docs/intro
- YouTube oktatóanyagok: Keress rá a "[discord.js/discord.py] oktatóanyag" kifejezésre – hatalmas mennyiségű tartalom
Az első Discord botod egy hétvégi projekt. Az első jó Discord botod egy hónapnyi gyakorlás. Az első, 1000 szerver által használt botod hónapokig tartó iteráció, funkciófejlesztés és közösségépítés. Kezdd el most, iterálj folyamatosan, és ne gondold túl.