Discord boty
Discord boty v Pythone (discord.py) alebo Node.js (discord.js): čo dať do požiadavky, skúšobné spustenie v Codexe, limity behu podľa plánu a bezpečnosť tokenu.
Aktualizované
Na tejto stránke
Codexe generuje kompletné projekty Discord botov v Pythone (discord.py) alebo Node.js (discord.js) so slash príkazmi.
#Čo dať do požiadavky
- Knižnicu (Python alebo Node.js).
- Každý slash príkaz s jeho možnosťami a kto ho môže používať.
- Udalosti, na ktoré má reagovať (pripojenie člena, správy, reakcie).
- Ukladanie (JSON, SQLite…) a prípadné externé API.
- Ktoré intenty si ochotný zapnúť. Message Content a Server Members sú privilegované a musia sa zapnúť v Discord developer portáli.
#Token
Vygenerované boty čítajú token z premennej prostredia DISCORD_TOKEN (fungujú aj BOT_TOKEN alebo TOKEN). Nikdy sa nezapisuje do zdrojového kódu a negeneruje sa žiadny súbor .env. S tokenom zaobchádzaj ako s heslom: ak unikne, resetuj ho v Discord developer portáli.
#Skúšobné spustenie bota v Codexe
Projekty botov majú panel Hostovať, kde môžeš bota vyskúšať bez nastavovania servera. Vlož token svojho bota (uloží sa šifrovane a môžeš ho vymazať), potom použi Spustiť, Zastaviť, Reštartovať a sleduj Konzola.
Je to testovacie prostredie, nie trvalý hosting:
| Plán | Čas behu za kĺzavých 24 hodín |
|---|---|
| Free | 15 minút |
| Pro | 4 hodiny |
| Business | 12 hodín |
| Enterprise | 24 hodín |
V každom pláne: relácia sa zastaví po 30 minútach, na jeden účet naraz beží jeden bot a počet spustení je obmedzený. Boty bežia izolovane, s prístupom na internet, ale bez prístupu k vlastným systémom Codexe.
#Overenie
Discord boty sa neoverujú buildom. Pripravené znamená, že generovanie sa dokončilo (pozri životný cyklus projektu). Na ich kontrolu použi skúšobné spustenie.
#Spustenie u seba
Stiahni ZIP, nainštaluj závislosti (pip install -r requirements.txt alebo npm install), nastav DISCORD_TOKEN vo svojom prostredí a spusti ho. Pozvi bota na svoj server s rozsahmi bot a applications.commands.
#Časté problémy
| Príznak | Pravdepodobná príčina |
|---|---|
| Slash príkazy sa nezobrazujú | Príkazy ešte nie sú synchronizované. Globálna synchronizácia môže trvať až hodinu; synchronizácia pre server je okamžitá. |
| Bot je online, ale ignoruje správy | V developer portáli nie je zapnutý privilegovaný intent. |
| „The application did not respond“ | Príkaz trval viac ako 3 sekundy bez odloženia odpovede. Požiadaj chat, aby odpoveď odložil (defer). |