Kaip sukurti savo pirmąjį Discord botą 2026 metais naudojant JavaScript (discord.js) arba Python (discord.py) – nuo registracijos iki diegimo, žingsnis po žingsnio.
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 →Sukurti savo pirmąjį Discord botą yra lengviau, nei manote. Jums nereikia kompiuterių mokslo diplomo ar ilgametės programavimo patirties. 2026 m. sukurti ir įdiegti veikiantį botą užtrunka savaitgalį, jei esate susikaupęs.
Šis vadovas padės jums atlikti visą procesą: užregistruoti savo botą, parašyti pirmąją komandą, išbandyti ją vietoje ir įdiegti tiesiogiai. Iki galo turėsite botą, veikiantį jūsų serveryje.
Discord botas yra programa, kuri prisijungia prie Discord per API ir reaguoja į įvykius: kai kas nors įveda komandą, reaguoja į pranešimą, prisijungia prie serverio ir t. t.
Pagrindinės sąvokos:
/command) vietoj priešdėlio komandų (!command). Įstrižų brūkšnių komandos yra oficialiai palaikomos ir rekomenduojamos.Čia jūsų botas oficialiai egzistuoja Discord sistemoje.
Procesas:
Dabar sukurkite boto vartotoją:
Konfigūruokite boto nustatymus:
Jums reikia specialios kvietimo nuorodos, kad pridėtumėte botą prie serverio.
Kūrėjų portale:
botSend Messages (būtina bet kuriam botui)Manage Messages (jei moderuojate)Add Reactions (jei botas reaguoja į dalykus)Connect + Speak (jei tai muzikos/balso botas)Send Messages + Read Messages (minimalus įmanomas)Nenaudokite administratoriaus leidimo, nebent tai absoliučiai būtina. Per didelis leidimų suteikimas yra saugumo rizika.
Dvi pagrindinės galimybės pradedantiesiems:
Discord.js yra populiariausia Discord botų sistema. Didžiulė bendruomenė, daugybė mokymo programų ir puiki dokumentacija.
Privalumai:
Trūkumai:
Pradėkite:
npm init -ynpm install discord.jsPaprastesnė sintaksė, puikiai tinka pradedantiesiems, puikiai tinka mokytis pagrindų.
Privalumai:
Trūkumai:
Pradėkite:
pip install discord.pyRekomendacija pradedantiesiems: Jei mokate Python, naudokite discord.py. Jei mokate JavaScript, naudokite discord.js. Jei nemokate nei vienos, Python yra lengviau išmokti, bet JavaScript turi daugiau išteklių internete. Pasirinkite vieną ir įsipareigokite.
Štai minimalus veikiantis Discord botas Python, kuris reaguoja į komandą:
import discord
from discord.ext import commands
# Create bot with command prefix and 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} has connected to Discord!')
@bot.command(name='hello', help='Says hello')
async def hello(ctx):
await ctx.send(f'Hello {ctx.author.name}!')
@bot.command(name='ping', help='Responds with pong')
async def ping(ctx):
await ctx.send('Pong!')
bot.run('YOUR_TOKEN_HERE')
Ką tai daro:
!hello ir !ping komandųNorėdami paleisti:
'YOUR_TOKEN_HERE' savo tikruoju žetonu iš 1 žingsniobot.pypython bot.py!hello bet kuriame kanalePrieš diegdami, išbandykite savo botą vietoje (savo kompiuteryje).
Nustatykite bandomąjį serverį:
Dažnos klaidos:
Išbandykite kruopščiai. Botas su klaidomis gamyboje yra gėda.
Dabar, kai suprantate pagrindus, išplėskite daugiau funkcijų.
Python pavyzdys – paprasta ekonomikos komanda:
@bot.command(name='balance', help='Check your coin balance')
async def balance(ctx):
# In a real bot, this would query a database
# For now, just return a mock value
await ctx.send(f'{ctx.author.name}, you have 100 coins!')
@bot.command(name='roll', help='Roll a dice (1-6)')
async def roll(ctx):
import random
result = random.randint(1, 6)
await ctx.send(f'{ctx.author.name} rolled: **{result}**')
Kiekviena komanda yra paprasta funkcija. Pridėkite tiek, kiek norite.
Talpinimas vietoje tinka bandymams, bet jūsų botas sustoja, kai uždarote nešiojamąjį kompiuterį. Įdiekite į serverį, kad jis veiktų 24 valandas per parą, 7 dienas per savaitę.
Replit (lengviausia pradedantiesiems):
Railway.app (šiuolaikiškas, patikimas):
Glitch (panašus į Replit):
Svarbu: Nekoduokite savo žetono kietai kode, kurį įkeliate į GitHub. Naudokite aplinkos kintamuosius:
import os
from dotenv import load_dotenv
load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')
bot.run(TOKEN)
Sukurkite .env failą vietoje (pridėkite prie .gitignore, kad jis nebūtų įkeltas):
DISCORD_TOKEN=your_actual_token_here
Replit/Railway nustatykite žetoną kaip slaptą aplinkos kintamąjį platformos nustatymuose (ne kode).
Klaida 1: Žetono kodavimas kietai Niekada nedėkite savo žetono į kodą, kurį įkeliate į GitHub. Botai su nutekintais žetonais yra akimirksniu pažeidžiami. Naudokite aplinkos kintamuosius.
Klaida 2: Neapdorojamos klaidos Jūsų botas sugenda dėl netikėtos įvesties. Pridėkite klaidų apdorojimą:
@bot.command()
async def divide(ctx, a: int, b: int):
try:
result = a / b
await ctx.send(result)
except ZeroDivisionError:
await ctx.send('Cannot divide by zero!')
except ValueError:
await ctx.send('Please enter valid numbers!')
Klaida 3: Nepaisoma greičio apribojimų Discord apriboja, kaip greitai galite siųsti pranešimus. Nesiųskite šlamšto į API. Pridėkite delsų tarp masinių veiksmų.
Klaida 4: Ignoruojami ketinimai Daugelis pradedančiųjų botų nepavyksta, nes jie neįgalina būtinų ketinimų Kūrėjų portale. Patikrinkite ketinimus, kurių reikia jūsų botui, prieš diegdami.
Klaida 5: Per didelis mastas Nemėginkite sukurti ekonomikos sistemos, moderavimo, muzikos ir 50 komandų savo pirmame bote. Pradėkite nuo 3–5 paprastų komandų. Išplėskite, kai jaučiatės patogiai.
Dabar, kai turite pagrindinį botą:
/command sintaksė vietoj priešdėlio komandųJūsų pirmasis Discord botas yra savaitgalio projektas. Jūsų pirmasis geras Discord botas yra mėnuo praktikos. Jūsų pirmąjį botą naudoja 1 000 serverių – tai mėnesiai iteracijų, funkcijų kūrimo ir bendruomenės kūrimo. Pradėkite dabar, nuolat kartokite ir per daug negalvokite.