Izveidot savu pirmo Discord botu ir vieglāk, nekā jūs domājat. Jums nav nepieciešams datorzinātņu grāds vai gadu ilga programmēšanas pieredze. 2026. gadā funkcionāla bota izveide un izvietošana aizņem nedēļas nogali, ja esat koncentrējies.
Šī rokasgrāmata palīdzēs jums veikt visu procesu: bota reģistrēšanu, pirmās komandas rakstīšanu, lokālu testēšanu un tiešraides izvietošanu. Līdz beigām jūsu serverī darbosies bots.
Izpratne par to, kas ir Discord Bots
Discord bots ir programma, kas izveido savienojumu ar Discord, izmantojot API, un reaģē uz notikumiem: kad kāds ieraksta komandu, reaģē uz ziņojumu, pievienojas serverim utt.
Galvenie jēdzieni:
- Lietojumprogramma pret Botu: Jūsu "lietojumprogramma" ir reģistrēta Discord Izstrādātāju portālā. "Bots" ir lietotāja konts, kas saistīts ar šo lietojumprogrammu. Vienai lietojumprogrammai ir viens bots.
- Žetoni: Slepena atslēga, kas autentificē jūsu botu. Nekad nedalieties ar to. Tas ir kā parole jūsu botam.
- Nodomi: Atļaujas, kas ļauj jūsu botam redzēt noteiktus notikumus (ziņojumus, reakcijas, dalībnieku statusa izmaiņas utt.). Jūs iespējojat tikai to, kas jums ir nepieciešams.
- Komandas: Boti reaģē uz komandām. Mūsdienu boti izmanto slīpsvītru komandas (
/command) prefiksu komandu (!command) vietā. Slīpsvītru komandas tiek oficiāli atbalstītas un ieteicamas. - Notikumi: Jūsu bots klausās Discord notikumus (nosūtīts ziņojums, pievienota reakcija, pievienojies dalībnieks) un reaģē uz tiem.
1. solis: Reģistrējiet savu botu Discord Izstrādātāju portālā
Šeit jūsu bots oficiāli pastāv Discord sistēmā.
Process:
- Dodieties uz Discord Izstrādātāju portālu
- Pierakstieties ar savu Discord kontu
- Noklikšķiniet uz "Jauna lietojumprogramma"
- Nosauciet to (piemēram, "Mans pirmais bots")
- Noklikšķiniet uz "Izveidot"
- Tagad jūs atrodaties savos lietojumprogrammas iestatījumos
Tagad izveidojiet bota lietotāju:
- Dodieties uz sadaļu "Bots" (kreisajā sānjoslā)
- Noklikšķiniet uz "Pievienot botu"
- Zem bota lietotājvārda jūs redzēsiet pogu "TOKEN"
- Kopējiet žetonu — tā jūsu bots autentificējas. Glabājiet to noslēpumā. Nekad nedalieties ar to publiski vai nepievienojiet to GitHub bez šifrēšanas.
Konfigurējiet bota iestatījumus:
- Iespējojiet "Ziņojuma satura nodomu" (ļauj botam lasīt ziņojuma tekstu)
- Iespējojiet "Servera dalībnieku nodomu" (ļauj botam redzēt, kas atrodas serverī)
- Ritiniet uz leju līdz sadaļai "OAuth2"
2. solis: Ģenerējiet sava bota uzaicinājuma saiti
Jums ir nepieciešama īpaša uzaicinājuma saite, lai pievienotu botu serverim.
Izstrādātāju portālā:
- Dodieties uz "OAuth2" → "URL ģenerators"
- Sadaļā "SCOPES" atzīmējiet:
bot - Sadaļā "PERMISSIONS" atlasiet, ko jūsu bots var darīt:
Sūtīt ziņojumus(būtiski jebkuram botam)Pārvaldīt ziņojumus(ja jūs moderējat)Pievienot reakcijas(ja bots reaģē uz lietām)Savienot+Runāt(ja tas ir mūzikas/balss bots)- Mācībām vienkārši atlasiet
Sūtīt ziņojumus+Lasīt ziņojumus(minimāli dzīvotspējīgs)
- Kopējiet ģenerēto URL apakšā
- Kopīgojiet šo URL ar serveru īpašniekiem (vai izmantojiet to pats, lai pievienotu savam testa serverim)
Neizmantojiet administratora atļauju, ja vien tas nav absolūti nepieciešams. Pārmērīga atļauju piešķiršana ir drošības risks.
3. solis: Izvēlieties savu valodu un ietvaru
Divas galvenās iespējas iesācējiem:
JavaScript (discord.js)
Discord.js ir populārākais Discord botu ietvars. Milzīga kopiena, daudz apmācību un lieliska dokumentācija.
Plusi:
- Lielākā kopiena un visvairāk apmācību tiešsaistē
- discord.js dokumentācija ir lieliska
- Node.js tiek plaši izmantots un ir viegli apgūstams
- Viegla izvietošana lielākajā daļā mitināšanas platformu
Mīnusi:
- JavaScript ir savdabības (async/await mācību līkne)
- Node.js pievieno atmiņas izmaksas salīdzinājumā ar Python
Sāciet darbu:
- Instalējiet Node.js (v18+)
- Izveidojiet projekta mapi
npm init -ynpm install discord.js
Python (discord.py)
Vienkāršāka sintakse, lieliski piemērota iesācējiem, lieliski piemērota pamatu apguvei.
Plusi:
- Vienkāršākā sintakse, ko apgūt
- Intuitīvs iesācējiem
- discord.py dokumentācija ir laba
- Python tiek izmantots visur (datu zinātne, tīmeklis, automatizācija)
Mīnusi:
- Mazāka kopiena nekā discord.js (bet joprojām liela)
- Mazāk apmācību nekā JavaScript
- Nedaudz lielāks atmiņas patēriņš
Sāciet darbu:
- Instalējiet Python 3.10+
- Izveidojiet projekta mapi
pip install discord.py
Ieteikums iesācējiem: Ja zināt Python, izmantojiet discord.py. Ja zināt JavaScript, izmantojiet discord.js. Ja nezināt nevienu, Python ir vieglāk apgūt, bet JavaScript ir vairāk resursu tiešsaistē. Izvēlieties vienu un apņemieties.
4. solis: Uzrakstiet savu pirmo botu (Python piemērs)
Šeit ir minimāls darbojošs Discord bots Python, kas reaģē uz komandu:
import discord
from discord.ext import commands
# Izveidojiet botu ar komandu prefiksu un nodomiem
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} ir izveidojis savienojumu ar Discord!')
@bot.command(name='hello', help='Saka sveiki')
async def hello(ctx):
await ctx.send(f'Sveiki {ctx.author.name}!')
@bot.command(name='ping', help='Atbild ar pong')
async def ping(ctx):
await ctx.send('Pong!')
bot.run('YOUR_TOKEN_HERE')
Ko tas dara:
- Izveido savienojumu ar Discord
- Klausās
!helloun!pingkomandas - Reaģē ar ziņojumu, kad tiek aktivizēts
Lai to palaistu:
- Aizstājiet
'YOUR_TOKEN_HERE'ar savu faktisko žetonu no 1. soļa - Saglabājiet kā
bot.py - Palaidiet:
python bot.py - Discord ierakstiet
!hellojebkurā kanālā - Bots atbild: "Sveiki [JūsuVārds]!"
5. solis: Testējiet lokāli
Pirms izvietošanas testējiet savu botu lokāli (savā datorā).
Iestatiet testa serveri:
- Izveidojiet privātu Discord serveri testēšanai
- Pievienojiet tam savu botu, izmantojot uzaicinājuma saiti no 2. soļa
- Palaidiet sava bota kodu lokāli
- Ierakstiet komandas testa serverī
- Vērojiet kļūdas savā terminālā; labojiet tās
Biežākās kļūdas:
- "Nederīgs žetons" — jūs nepareizi nokopējāt žetonu vai tā derīguma termiņš ir beidzies. Atjaunojiet to Izstrādātāju portālā.
- "Trūkst atļauju" — Botam nav atļaujas veikt šo darbību šajā kanālā. Pievienojiet atļaujas vai izmantojiet kanālu, kur botam ir vairāk tiesību.
- "Nodomi nav iespējoti" — Jums ir jāiespējo nodomi Izstrādātāju portālā (Ziņojuma satura nodoms, Servera dalībnieku nodoms utt.)
Rūpīgi pārbaudiet. Bots ar kļūdām ražošanā ir apkaunojošs.
6. solis: Pievienojiet vairāk komandu
Tagad, kad saprotat pamatus, paplašiniet ar vairāk funkcijām.
Python piemērs — vienkārša ekonomikas komanda:
@bot.command(name='balance', help='Pārbaudiet savu monētu bilanci')
async def balance(ctx):
# Īstā botā tas vaicātu datubāzi
# Pagaidām vienkārši atgrieziet izspēles vērtību
await ctx.send(f'{ctx.author.name}, jums ir 100 monētas!')
@bot.command(name='roll', help='Rullējiet kauliņu (1-6)')
async def roll(ctx):
import random
result = random.randint(1, 6)
await ctx.send(f'{ctx.author.name} rullēja: **{result}**')
Katra komanda ir vienkārša funkcija. Pievienojiet tik daudz, cik vēlaties.
7. solis: Izvietojiet savu botu
Mitināšana lokāli darbojas testēšanai, bet jūsu bots apstājas, kad aizverat klēpjdatoru. Izvietojiet serverī, lai tas darbotos 24/7.
Bezmaksas mitināšanas iespējas
Replit (vienkāršākais iesācējiem):
- Dodieties uz Replit.com
- Izveidojiet jaunu Repl → Python (vai Node.js)
- Ielīmējiet sava bota kodu
- Noklikšķiniet uz "Palaist"
- Replit mitina to bez maksas (ar ierobežojumiem: var aizmigt pēc neaktivitātes)
Railway.app (moderns, uzticams):
- Dodieties uz Railway.app
- Savienojiet GitHub (vai augšupielādējiet failus tieši)
- Izveidojiet jaunu projektu → atlasiet savu botu
- Railway izvieto automātiski
- Bezmaksas līmenis ietver 5 USD mēneša kredītu
Glitch (līdzīgs Replit):
- Dodieties uz Glitch.com
- Izveidojiet jaunu projektu
- Ielīmējiet kodu
- Glitch uztur to darbībā (bezmaksas līmeņa ietvaros)
Svarīgi: Neiekodējiet savu žetonu kodā, ko ievietojat GitHub. Izmantojiet vides mainīgos:
import os
from dotenv import load_dotenv
load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')
bot.run(TOKEN)
Izveidojiet .env failu lokāli (pievienojiet .gitignore, lai tas netiktu ievietots):
DISCORD_TOKEN=your_actual_token_here
Replit/Railway iestatiet žetonu kā slepenu vides mainīgo platformas iestatījumos (nevis kodā).
Biežākās iesācēju kļūdas
Kļūda 1: Žetona iekodēšana Nekad neievietojiet savu žetonu kodā, ko ievietojat GitHub. Boti ar nopludinātiem žetoniem tiek uzreiz apdraudēti. Izmantojiet vides mainīgos.
Kļūda 2: Kļūdu neapstrāde Jūsu bots avarē neparedzētu ievades gadījumā. Pievienojiet kļūdu apstrādi:
@bot.command()
async def divide(ctx, a: int, b: int):
try:
result = a / b
await ctx.send(result)
except ZeroDivisionError:
await ctx.send('Nevar dalīt ar nulli!')
except ValueError:
await ctx.send('Lūdzu, ievadiet derīgus skaitļus!')
Kļūda 3: Ātruma ierobežojumu neievērošana Discord ierobežo, cik ātri varat sūtīt ziņojumus. Nesūtiet surogātpastu API. Pievienojiet aizkaves starp lielapjoma darbībām.
Kļūda 4: Nodomu ignorēšana Daudzi iesācēju boti neizdodas, jo viņi neiespējo nepieciešamos nodomus Izstrādātāju portālā. Pirms izvietošanas pārbaudiet nodomus, kas nepieciešami jūsu botam.
Kļūda 5: Pārāk vērienīgs apjoms Nemēģiniet izveidot ekonomikas sistēmu, moderēšanu, mūziku un 50 komandas savā pirmajā botā. Sāciet ar 3–5 vienkāršām komandām. Paplašiniet, kad jūtaties ērti.
Nākamie soļi
Tagad, kad jums ir pamata bots:
- Paplašiniet funkcionalitāti: Pievienojiet vairāk komandu, izmantojiet datubāzes, lai saglabātu datus, ieviesiet sarežģītu loģiku
- Izmantojiet slīpsvītru komandas: Mūsdienīga
/commandsintakse prefiksu komandu vietā - Pievienojiet reakcijas: Ļaujiet lietotājiem noklikšķināt uz pogām vai reaģēt ar emocijzīmēm
- Savienojiet datubāzi: Saglabājiet lietotāju datus, monētas, preferences (SQLite iesācējiem, PostgreSQL mērogošanai)
- Pievienojieties kopienām: Discord botu izstrādātāju kopienām (reddit.com/r/discordbots, Discord.js atbalsta serveris) ir atbildes uz katru jautājumu
Resursi
- discord.js dokumentācija: https://discord.js.org
- discord.py dokumentācija: https://discordpy.readthedocs.io
- Discord API dokumentācija: https://discord.com/developers/docs/intro
- YouTube apmācības: Meklējiet "[discord.js/discord.py] apmācība" — milzīgs satura apjoms
Jūsu pirmais Discord bots ir nedēļas nogales projekts. Jūsu pirmais labs Discord bots ir mēnesis prakses. Jūsu pirmo botu izmanto 1000 serveru, ir mēneši iterācijas, funkciju izstrādes un kopienas veidošanas. Sāciet tagad, atkārtojiet pastāvīgi un nepārdomājiet to.