Obsah:
V článku sa dozviete, ako sa vytvára aplikácia pre bota, vykonáva sa prvá autorizácia na serveri a píše sa spoločný kód na normalizáciu práce. S "kostrou" už môžete pridávať používateľské príkazy a okamžite kontrolovať, ako fungujú.
Vytvorenie aplikácie a autorizácia bota
Ďalej sa budeme zaoberať dvoma rôznymi metódami vytvárania bota — pomocou JavaScriptu a Pythonu. Každá z nich má svoje špecifiká a nuansy, ale metóda vytvárania aplikácie a autorizácie bota na serveri zostáva rovnaká, pretože nezávisí od zvoleného programovacieho jazyka.Po tomto budete môcť prejsť k výberu knižnice a práci s kódom.
Prejsť na Discord Developer Portal
- Prejdite na odkaz vyššie, aby ste sa dostali na hlavnú stránku portálu pre vývojárov v Discord. Použite svoje osobné prihlasovacie údaje na prihlásenie do účtu.
- Vytvorte novú aplikáciu kliknutím na tlačidlo "Nová aplikácia".
- Zadajte názov aplikácie a potvrďte jej vytvorenie.
- Rozbaľte menu stránky kliknutím na tlačidlo s tromi horizontálnymi čiarami.
- Z objaveného zoznamu vyberte sekciu nastavení "Bot".
- Začnite pridávať nového bota pre túto aplikáciu.
- Potvrďte zobrazené oznámenie kliknutím na "Áno, urob to".
- Po dokončení sa stránka aktualizuje a otvorí sa stránka bota, kde môžete zmeniť jeho názov, skopírovať token alebo pridať ikonu, ktorá sa bude zobrazovať aj v Discorďe.
- Avšak teraz bot ešte nie je označený ako taký a pre neho nie sú nastavené povolenia, preto prejdite do sekcie "OAuth2" cez to isté menu.
- V zozname "Scopes" zaškrtnite "bot", čím označíte typ vytvorenej aplikácie.
- Nájdite nasledujúci blok — "Bot Permissions" a zaškrtnite všetky povolenia, ktoré chcete poskytnúť vytváranému botovi.
- To isté urobte aj s ostatnými typmi povolení, ktoré zodpovedajú dostupným priamo v Discord pre role.
- Teraz je bot pripravený na autorizáciu. Na tej istej stránke nájdite riadok s odkazom a skopírujte ho.
- Vložte ho do adresného riadku a prejdite naň. V objavenej forme vyberte server na autorizáciu. Ak ešte nemáte vlastný server, vytvorte ho a potom sa vráťte k procesu pripojenia bota.
Podrobnosti: Vytvorenie servera v Discorde
- Oboznámte sa so zoznamom všetkých oprávnení a kliknite na "Autorizovať".
- Zostáva už len potvrdiť na obrazovke zobrazenú captcha.
- Otvorenie príslušného servera v Discorde a uistite sa, že bot je v zozname účastníkov. Zatiaľ je ešte offline, a spustenie bude možné až po napísaní "tela" bota pomocou Pythonu alebo JS, čomu sa budeme venovať ďalej.

















Výber vývojového prostredia
Pred začiatkom práce s kódom v uvedených programovacích jazykoch si ujasnime, že budete potrebovať nainštalovať textový editor alebo špeciálne vývojové prostredie, ktoré podporuje syntax Pythonu alebo JavaScriptu (v závislosti od výberu). Samozrejme, môžete použiť aj "Poznámkový blok", ale z hľadiska pohodlia zaostáva za špecializovanými programami.
Podrobnosti:
Výber vývojového prostredia pre programovanie

Možnosť 1: Python a knižnica discord
Ak ste sa predtým nestretli s programovacími jazykmi alebo ich poznáte len povrchne, vytvorenie bota pre Discord v Pythone je najlepšou voľbou. Tento programovací jazyk sa ľahšie učí, je kompaktný a má logicky zrozumiteľnú syntax, preto je ideálny pre začiatočníkov. Okrem toho je na internete obrovské množstvo zdrojových kódov s rôznymi príkazmi alebo už hotovými botmi, ktoré môžete skopírovať a využiť vo svojich cieľoch.V nasledujúcich krokoch sa dozviete, ako vytvoriť "kostru" bota na Pythone a spustiť ho, aby ste overili jeho funkčnosť.
Krok 1: Inštalácia Pythonu a knižnice discord
Vo Windows nie sú predvolene zabudované funkcie a nástroje určené na prácu s Pythonom, preto ich bude potrebné nainštalovať samostatne, nezabudnite na knižnicu discord, ktorá umožní interakciu s užitočnými funkciami a príkazmi, ktoré sú výhradne spojené s Discordom.
Prejsť na oficiálnu stránku Pythonu
- Využite vyššie uvedený odkaz, aby ste prešli na oficiálnu stránku Pythonu a kliknite na tlačidlo na stiahnutie jeho najnovšej verzie.
- Na novej stránke nájdite inštalátor pre Windows a začnite jeho sťahovanie.
- Čakajte na dokončenie sťahovania a spustite inštalátor.
- Inštaláciu môžete spustiť bez zmien, ale určite zaškrtnite "Add Python X.X to PATH", aby sa všetky premenné prostredia pridali automaticky a nevznikli problémy pri ďalšom zadávaní príkazov.
- Čakajte na dokončenie inštalácie a pre istotu reštartujte počítač, aby sa všetky zmeny prejavili.
- Otvorenie "Príkazového riadku" vykonajte spôsobom, ktorý vám vyhovuje, napríklad vyhľadaním aplikácie v ponuke "Štart".
- Napíšte príkaz
pip install discord
a potvrďte ho stlačením klávesy Enter. - Začne sa sťahovanie súborov a v konzole "pobežia" riadky. Nezatvárajte toto okno, kým sa sťahovanie nedokončí.
- Akonáhle sa objaví informácia "Successfully installed", zatvorte "Príkazový riadok" a prejdite ďalej.









Ak máte Python nainštalovaný, ale príkaz na pridanie knižnice nefunguje, vykonajte aktualizáciu komponentu PIP, o čom sa hovorí v inom článku na našej stránke.Tam nájdete aj pokyny na zmenu premenných prostredia, ak sa to počas inštalácie nestalo.
Podrobnosti: Aktualizácia PIP pre Python
Krok 2: Vytvorenie slovníka bota
V tejto variante budeme používať slovník pre bota, teda konfiguračný súbor, ktorý uchováva hodnoty tokenu, prefixu a mena bota pod rôznymi názvami. To podstatne zjednodušuje celý proces písania kódu a núti vás každý raz si pamätať údaje aplikácie, aby ste ich zadali v jednom riadku.
- Začnite spustením IDLE, nájdite pridanú aplikáciu cez menu "Štart". Ak ste stiahli iné vývojové prostredie, otvorte ho a vytvorte nový projekt na báze Pythonu.
- Po otvorení nového okna vyvolajte menu "Súbor" a vyberte položku "Nový súbor". Môžete to urobiť aj pomocou klávesovej skratky Ctrl + N.
- V novom okne, ktoré je určené na písanie kódu, vložte blok
settings = {
'token': 'Váš token',
'bot': 'Meno bota',
'id': Client ID bota, bez úvodzoviek,
'prefix': 'Prefix bota'
} - Teraz bude potrebné nájsť informácie na jej nahradenie v slovníku. Najprv nájdite Client ID aplikácie na stránke vývojárov. Skopírujte ho a nahraďte v príslušnom riadku.
- Vyvolajte menu a prejdite do sekcie "Bot".
- Skopírujte jeho jedinečný token kliknutím na špeciálne určené tlačidlo.
- Vložte token namiesto nápisu, urobte to isté s menom bota a používaným prefixom (prefix je potrebný na vyvolanie príkazov a vždy ide pred nimi, napríklad
!play
, a môžete nahradiť výkričník akýmikoľvek inými symbolmi). - Akonáhle sú všetky informácie nahradené, znova vyvolajte menu "Súbor" a vyberte možnosť "Uložiť ako".
- Vytvorte samostatnú zložku pre súbory bota, nazvite ju
config
a potvrďte uloženie.









Krok 3: Vytvorenie tela bota
Na zabezpečenie základného fungovania bota je potrebné vytvoriť "telo" — základný kód na spustenie a prácu na serveri.Bude potrebný samostatný súbor, ktorý môžete nazvať akokoľvek, ale určite ho uložte na to isté miesto, kde sa nachádza predtým vytvorený slovník.
- V prostredí vývoja otvorte menu "Súbor" a vytvorte nový súbor.
- Vložte tam tri príkazy, ktoré sú určené na import nainštalovaných knižníc a predtým vytvoreného súboru:
import discord
from discord.ext import commands
from config import settings - Pridajte riadok
bot = commands.Bot(command_prefix = settings['prefix']) # Keďže sme uviedli prefix v settings, odkazujeme na slovník s kľúčom prefix
. - Hlavný kód je nasledujúci:
@bot.command() # Neposielame argument pass_context, pretože bol potrebný v starších verziách.
async def hello(ctx): # Vytvárame funkciu a posielame argument ctx.
author = ctx.message.author # Vyhlasujeme premennú author a zapisujeme tam informácie o autorovi.await ctx.send(f'Ahoj, {author.mention}!') # Vypisujeme správu s označením autora, odkazujúc na premennú author.
- Venovať pozornosť komentárom, ktoré nasledujú po znaku "#" — pomôžu vám pochopiť účel každého riadku.
- Príkaz na spustenie vyzerá takto:
bot.run(settings['token']) # Odkazujeme na slovník settings s kľúčom token, aby sme získali token
. - Po dokončení znova otvorte už známe menu a prejdite k uloženiu súboru.
- Zadajte mu akýkoľvek názov a umiestnite ho do priečinka s konfiguráciou.







Ďalej vidíte celý kód, o ktorom bola reč vyššie, takže ak je to potrebné, môžete si ho jednoducho skopírovať.

import discord
from discord.ext import commands
from config import settings
bot = commands.Bot(command_prefix = settings['prefix'])
@bot.command() # Neposielame argument pass_context, pretože bol potrebný v starších verziách.
async def hello(ctx): # Vytvárame funkciu a posielame argument ctx.
author = ctx.message.author # Vyhlasujeme premennú author a zapisujeme tam informácie o autorovi.
await ctx.send(f'Ahoj, {author.mention}!') # Vypisujeme správu s označením autora, odkazujúc na premennú author.
bot.run(settings['token']) # Odkazujeme na slovník settings s kľúčom token, aby sme získali token
Dodatočne upresníme, že môžete použiť alternatívnu schému, zbaviac sa súboru so slovníkom a získať trochu iné "telo" pre bota.Rozhodnite, či vám tento kód vyhovuje viac. Uvedené riadky s tokenom bude potrebné upraviť podľa seba.
import discord
from discord.ext import commands
TOKEN = 'Váš token'
bot = commands.Bot(command_prefix='!')
@bot.command(pass_context=True) # povolíme prenášať argumenty
async def test(ctx, arg): # vytvoríme asynchrónnu funkciu bota
await ctx.send(arg) # pošleme späť argument
bot.run(TOKEN)
Krok 4: Spustenie bota
Teraz môžete spustiť bota na kontrolu, na čo budete potrebovať vytvorený v Kroku 3 hlavný súbor. Skompilujte ho priamo cez vývojové prostredie alebo vyvolajte "Príkazový riadok" a zadajte tam python bot.py
, kde bot.py je názov vytvoreného súboru. Ak sa súbor nájsť nepodarilo, uveďte jeho úplnú cestu, napríklad python C:UsersUSER_NAMEbot.py
.

Prejdite do Discordu a skontrolujte aktuálny stav bota. Mal by sa zobraziť v zozname účastníkov v sekcii "Online" spolu so zelenou bodkou.

Využite otvorené zdroje alebo vlastné vedomosti na napísanie príkazov pre bota alebo realizáciu iných úloh, ktoré by mal vykonávať. Na to upravte jeho hlavný súbor alebo vytvorte iné, spájajúc všetko do jedného projektu.
Možnosť 2: JavaScript a discord.js
Ďalšou možnosťou vytvorenia bota pre Discord je použitie JS a knižnice discord.js, ktorá pridáva všetky potrebné komponenty na prácu s botmi. Princíp činnosti sa od predchádzajúcej možnosti líši len nástrojmi a rozdielom v syntaxi programovacích jazykov, ale zostáva približne rovnaký.
Krok 1: Inštalácia Node.js a discord.js
Rozšíriť funkčnosť JS a premeniť ho na jazyk všeobecného použitia pomôže platforma Node.js, ktorej inštaláciu odporúčame vykonať ako prvú.Na tento účel vykonajte najjednoduchší algoritmus krokov:
Prejsť na oficiálnu stránku Node.js
- Otvorenie stránky Node.js na internete a výber poslednej odporúčanej verzie na stiahnutie.
- Čakajte na prijatie spustiteľného súboru a spustite ho.
- Postupujte podľa pokynov, ktoré sa objavia na obrazovke, dokončite inštaláciu a reštartujte počítač.
- Otvorte "Štart" a cez vyhľadávanie nájdite klasickú aplikáciu "Príkazový riadok".
- Do nej napíšte príkaz
npm init
a aktivujte ho stlačením Enter. - Vytvorte štandardný balík s používateľskými informáciami, stlačením Enter po zadaní každého parametra, alebo nechajte všetko predvolené.
- Keď budú všetky parametre balíka zadané, dostanete upozornenie, ktoré musíte potvrdiť opätovným stlačením Enter.
- Zadajte príkaz
npm install
na inštaláciu chýbajúcich štandardných komponentov. - Čakajte na dokončenie ich sťahovania a objavenie sa vstupného riadku.
- Napíšte
npm install discord.js
. - Akonáhle bude tento príkaz vykonaný, otvorte priečinok svojho používateľa a uistite sa, že sú vytvorené súbory balíka vo formáte JSON.











Krok 2: Práca so súbormi bota
Všetky akcie súvisiace so súbormi bota a programovým kódom preskúmame v rámci jedného kroku, pretože ich delenie na niekoľko nemá zmysel.Budete potrebovať tri základné súbory, do ktorých sa zapíšu všetky potrebné funkcie: jeden zodpovedá za konfiguráciu bota, druhý — za "telo", a tretí uchováva zoznam pridaných príkazov.
- Na začiatok vytvorte súbory "bot.js" a "config.json" v jednom adresári.
- Otvorenie súboru "config.json" prostredníctvom textového editora alebo vývojového prostredia a pridajte tam nasledujúce riadky:
{
"token" : "Váš_token",
"prefix" : "Váš_prefiks"
}Prislúchajúce výrazy v dvojitých úvodzovkách nahraďte unikátnym tokenom bota a preferovaným prefiksom.
- Otvorenie na úpravu súboru "bot.js" (mimochodom, jeho názov môže byť akýkoľvek). Vložte tam tento blok kódu.
const Discord = require('discord.js'); // Pripojíme knižnicu discord.js
const robot = new Discord.Client(); // Vyhlasujeme, že robot je bot
const comms = require("./comms.js"); // Pripojíme súbor s príkazmi pre bota
const fs = require('fs'); // Pripojíme natívny modul súborového systému node.js
let config = require('./config.json'); // Pripojíme súbor s parametrami a informáciami
let token = config.token; // "Získame" z neho token
let prefix = config.prefix; // "Získame" z neho prefixrobot.on("ready", function() {
/* Pri úspešnom spustení sa v konzole objaví správa "[Meno bota] sa spustil!" */
console.log(robot.user.username + " sa spustil!");
});robot.on('message', (msg) => { // Reagovanie na správy
if (msg.author.username != robot.user.username && msg.author.discriminator != robot.user.discriminator) {
var comm = msg.content.trim() + " ";
var comm_name = comm.slice(0, comm.indexOf(" "));
var messArr = comm.split(" ");
for (comm_count in comms.comms) {
var comm2 = prefix + comms.comms[comm_count].name;
if (comm2 == comm_name) {
comms.comms[comm_count].out(robot, msg, messArr);
}
}
}
});robot.login(token); // Autorizácia bota
Čítajte komentáre k riadkom, ktoré nasledujú po lomítkach ("//"), aby ste sa sami oboznámili s účelom každého.
- Vytvorte tretí súbor — "comms.js", v ktorom v budúcnosti budú uložené všetky potrebné príkazy.
- Vložte do neho základný blok, ktorý sa v budúcnosti rozšíri:
const config = require('./config.json'); // Pripojíme súbor s parametrami a informáciami
const Discord = require('discord.js'); // Pripojíme knižnicu discord.js
const prefix = config.prefix; // "Získame" prefix// Príkazy //
function test(robot, mess, args) {
mess.channel.send('Test!')
}// Zoznam príkazov //
var comms_list = [{
name: "test",
out: test,
about: "Testovací príkaz"
}];// Name - názov príkazu, na ktorý bude bot reagovať
// Out - názov funkcie s príkazom
// About - popis príkazumodule.exports.comms = comms_list;





Na ďalšiu prácu s príkazmi bude stačiť vyhlásiť ich funkcie a doplniť zoznam príslušnými blokmi kódu.Na príklade hotového súboru "comms.js" vyzerá takto:
const config = require('./config.json');
const Discord = require('discord.js');
const prefix = config.prefix;
const versions = config.versions;
// Príkazy //
function test(robot, mess, args) {
mess.channel.send("Test!")
}
function hello(robot, mess, args) {
mess.reply("Ahoj!")
}
// Zoznam príkazov //
var comms_list = [{
name: "test",
out: test,
about: "Testovací príkaz"
},
{
name: "hello",
out: hello,
about: "Príkaz na pozdrav!"
}
}
module.exports.comms = comms_list;
Krok 3: Spustenie bota
Prvé kroky s botom v JavaScripte sú dokončené, a teda ho môžete spustiť a skontrolovať jeho funkčnosť. Na to budete potrebovať vykonať nasledujúce:
- Otvorenie menu "Štart" cez vyhľadávanie nájdite "Príkazový riadok" a spustite ho.
- Zadajte
node bot.js
, kde bot.js je názov hlavného súboru s kódom pre bota. Ak sa nenachádza vo vašej domácej zložke, uveďte úplnú cestu k súboru alebo sa najprv presuňte na jeho umiestnenie pomocou príkazucd
.


Príklady užitočných príkazov
Na záver tohto variantu stručne predstavíme dva užitočné príkazy, ktoré môžu byť užitočné pri nastavovaní bota. Môžete ich použiť ako testovacie, keď práca na projekte je ešte v štádiu vývoja. Prvý príkaz — !clear
— odstraňuje zadaný počet správ v chate.Jej kód vyzerá nasledovne:
const arggs = mess.content.split(' ').slice(1); // Všetky argumenty za menom príkazu s prefixom
const amount = arggs.join(' '); // Počet správ, ktoré majú byť odstránené
if (!amount) return mess.channel.send('Neuviedli ste, koľko správ treba odstrániť!'); // Kontrola, či je parameter počtu zadaný
if (isNaN(amount)) return mess.channel.send('To nie je číslo!'); // Kontrola, či je vstup používateľa číslom
if (amount > 100) return mess.channel.send('Nemôžete odstrániť viac ako 100 správ naraz'); // Kontrola, či je vstup používateľa číslom väčším ako 100
if (amount {
mess.channel.bulkDelete(messages)
mess.channel.send(`Odstránených ${amount} správ!`)
})
};
delete_messages(); // Vyvolanie asynchrónnej funkcie
Druhá príkaz je určený na hod mincou a spúšťa sa zadaním !heads_or_tails
v chate. Tu kód nie je taký zložitý, pretože akcií je málo a bot by mal reagovať len na jeden požiadavok bez obrovského množstva premenných.
mess.channel.send('Minca sa hádže...')
var random = Math.floor(Math.random() * 4) + 1; // Vyhlásenie premennej random - počíta náhodné číslo od 1 do 3
if (random === 1) { // Ak je vygenerované číslo 1, padá orol.
mess.channel.send(':full_moon: Orol!')
} else if (random === 2) { // Ak je vygenerované číslo 2, padá rub.
mess.channel.send(':new_moon: Rub!')
} else if (random === 3) { // Ak je vygenerované číslo 3, minca padá na hranu.
mess.channel.send(':last_quarter_moon: Minca padla na hranu!')
}
Na internete môžete nájsť ďalšie užitočné príkazy, ktoré chcete zahrnúť do svojho bota, avšak na prácu s nimi budú stále potrebné pokročilé znalosti v JavaScripte alebo Pythone, aby ste si mohli sami opravovať chyby alebo upravovať kód podľa seba.