Discord · Vodič

Kako napraviti Discord bota

Ažurirano October 10, 2026 4 min čitanja

Na ovoj stranici
  1. Korak 1: Izradite aplikaciju i token bota
  2. Korak 2: Pozovite bota na svoj server
  3. Korak 3a: Napišite bota u Pythonu (discord.py)
  4. Korak 3b: Napišite bota u JavaScriptu (discord.js)
  5. Držite token izvan koda
  6. Korak 4: Držite bota online
  7. FAQ

Discord bot je program koji se prijavljuje u Discord vlastitim računom i odgovara na naredbe, moderira, pokreće igre ili objavljuje novosti. Za izradu su potrebne tri stvari: aplikacija u Discordovom Developer Portalu, nekoliko redaka koda i mjesto na kojem će se taj kod izvršavati.

U ovom vodiču izrađujemo funkcionalnog bota sa slash naredbom /ping, u Pythonu (discord.py) ili JavaScriptu (discord.js) — odaberite jezik koji poznajete.

Korak 1: Izradite aplikaciju i token bota

  1. Otvorite Developer Portal. Idite na discord.com/developers/applications, izradite novu aplikaciju i dajte joj ime.
  2. Preuzmite token. Na stranici Bot kliknite Reset Token i kopirajte ga. Discord ga prikazuje samo jednom; ako ga izgubite, ponovno ga resetirajte.
  3. Čuvajte token u tajnosti. To je lozinka bota: tko ga ima, upravlja vašim botom. Nikad ga ne lijepite u kod koji dijelite i ne spremajte ga u Git.
Trebaju li vam intenti? Botu koji koristi samo slash naredbe ne treba nijedan privilegirani intent. Uključite Message Content na stranici Bot samo ako bot mora čitati što ljudi pišu u običnim porukama. Botovi na serverima s više od 10.000 korisnika trebaju Discordovo odobrenje za privilegirane intente.

Korak 2: Pozovite bota na svoj server

  1. Otvorite stranicu Installation svoje aplikacije.
  2. U zadanim postavkama instalacije za servere (guilds) dodajte opsege bot i applications.commands te dozvole koje botu trebaju — za ovaj vodič dovoljna je Send Messages.
  3. Otvorite dobivenu poveznicu za instalaciju, odaberite svoj server i odobrite. Bot se pojavljuje na popisu članova, offline dok se vaš kod ne pokrene.

Stariji vodiči koriste OAuth2 > URL Generator s ista dva opsega; i to još uvijek radi.

Korak 3a: Napišite bota u Pythonu (discord.py)

discord.py 2.7 zahtijeva Python 3.8 ili noviji. Instalirajte ga i izradite bot.py:

pip install discord.py
import os
import discord
from discord import app_commands

class Bot(discord.Client):
    def __init__(self):
        super().__init__(intents=discord.Intents.default())
        self.tree = app_commands.CommandTree(self)

    async def setup_hook(self):
        await self.tree.sync()

bot = Bot()

@bot.tree.command(description="Replies with Pong!")
async def ping(interaction: discord.Interaction):
    await interaction.response.send_message("Pong!")

bot.run(os.environ["DISCORD_TOKEN"])

Pokrenite ga s tokenom u varijabli okruženja, na primjer DISCORD_TOKEN=your-token python bot.py na Linuxu ili macOS-u.

Korak 3b: Napišite bota u JavaScriptu (discord.js)

discord.js 14 zahtijeva Node.js 18 ili noviji. U novoj mapi pokrenite npm install discord.js i izradite index.js:

const { Client, Events, GatewayIntentBits, REST, Routes, SlashCommandBuilder } = require('discord.js');

const commands = [new SlashCommandBuilder().setName('ping').setDescription('Replies with Pong!').toJSON()];
const client = new Client({ intents: [GatewayIntentBits.Guilds] });

client.once(Events.ClientReady, async (c) => {
  await new REST().setToken(process.env.DISCORD_TOKEN).put(Routes.applicationCommands(c.user.id), { body: commands });
  console.log(`Logged in as ${c.user.tag}`);
});

client.on(Events.InteractionCreate, async (interaction) => {
  if (interaction.isChatInputCommand() && interaction.commandName === 'ping') await interaction.reply('Pong!');
});

client.login(process.env.DISCORD_TOKEN);

Pokrenite ga naredbom DISCORD_TOKEN=your-token node index.js. Kad konzola prikaže Logged in, upišite /ping na svom serveru.

Držite token izvan koda

  • Koristite varijablu okruženja ili datoteku .env i dodajte .env u .gitignore prije prvog commita.
  • Ako token procuri, resetirajte ga odmah na stranici Bot. Stari token prestaje raditi, a novi upišete ondje gdje bot radi.
  • GitHub pretražuje javne repozitorije u potrazi za tokenima Discord botova i prijavljuje ih Discordu, koji ih može opozvati — pa token koji ste greškom objavili često prestane raditi prije nego što to primijetite.

Korak 4: Držite bota online

Vaš bot je online samo dok se njegov kod izvršava. Zatvorite terminal ili ugasite računalo i bot odlazi offline. Imate tri mogućnosti:

  • Vlastito računalo — besplatno, dobro za izradu i testiranje, ali bot spava kad i računalo.
  • Besplatni paket — većina uspavljuje ili ograničava botove koji rade cijeli mjesec; kompromise uspoređujemo u vodiču besplatni hosting za Discord bota.
  • Hosting za botove — mali server koji je stalno uključen. Na HytHost hostingu za Discord botove učitate projekt, odaberete Node.js, Python ili drugo okruženje, a panel pokreće bota i ponovno ga pokreće ako se sruši.

Cijeli postupak, od učitavanja do automatskog ponovnog pokretanja, nalazi se u vodiču kako hostati Discord bota 24/7.

Pokrećite bota bez upaljenog računala: HytHost hosting za Discord botove podržava Node.js, Python, Java, Go, C#, Bun i Lavalink — od €0.89/mj.

Pogledajte planove za botove
FAQ

Često postavljana pitanja

Da. Izrada aplikacije, tokena i koda ne košta ništa, a discord.py i discord.js su besplatni. Plaćate samo ako želite hosting na mjestu koje ostaje online.

Onaj koji već znate. discord.py i discord.js su zreli i pokrivaju cijeli Discord API. Ako ne znate nijedan, Python se jednostavnije čita; JavaScript ima veći ekosustav biblioteka.

Provjerite jeste li ga pozvali s opsegom applications.commands i je li kod sinkronizirao naredbe. Globalnim naredbama može trebati trenutak da se pojave; ako se ne pojave, ponovno pokrenite Discord.

Za čitanje teksta običnih poruka potreban je intent Message Content, uključen u Developer Portalu i zatražen u kodu. Bez njega bot i dalje prima slash naredbe, spominjanja i privatne poruke.

Odmah ga resetirajte na stranici Bot u Developer Portalu. Stari token prestaje raditi; novi upišite svugdje gdje bot radi, a stari uklonite iz koda i povijesti.

Vaš bot online, bez vašeg računala

HytHost hosting za Discord botove pokreće Node.js, Python, Java, Go, C#, Bun ili Lavalink s MySQL bazom podataka i sigurnosnim kopijama — od €0.89/mj.

Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hours

Je li ti ovaj vodič pomogao?