Ten poradnik prowadzi od zera do bota, który działa całą dobę: utworzenie aplikacji w Discordzie, minimalny kod w discord.js albo discord.py, wgranie plików i pierwsze uruchomienie. Jeśli masz już gotowego bota, przejdź od razu do kroku 3.
1. Utwórz bota w Discord Developer Portal
- Wejdź na discord.com/developers/applications i kliknij New Application.
- W zakładce Bot kliknij Reset Token i skopiuj token. To hasło do konta bota: nie pokazuj go nikomu i nie wklejaj do kodu.
- Na tej samej stronie, w sekcji Privileged Gateway Intents, włącz Message Content Intent, jeśli bot ma czytać treść wiadomości (np. komendy z prefiksem „!”). Server Members Intent włącz tylko wtedy, gdy bot potrzebuje listy członków serwera.
- W zakładce OAuth2 wybierz zakresy bot i applications.commands, zaznacz potrzebne uprawnienia i otwórz wygenerowany link, żeby dodać bota na swój serwer Discord.
2. Zamów serwer bota
Wybierz bota w Node.js (discord.js) albo bota w Pythonie (discord.py). Serwer instaluje się sam zaraz po płatności i uruchamia plik startowy z instrukcją, który za chwilę podmienisz.
3. Przygotuj pliki bota
discord.js
package.json:
{
"name": "moj-bot",
"version": "1.0.0",
"main": "index.js",
"dependencies": {
"discord.js": "^14.0.0",
"dotenv": "^16.4.5"
}
}index.js:
require("dotenv").config();
const { Client, Events, GatewayIntentBits } = require("discord.js");
const client = new Client({ intents: [GatewayIntentBits.Guilds] });
client.once(Events.ClientReady, (c) => console.log(`Zalogowano jako ${c.user.tag}`));
client.login(process.env.DISCORD_TOKEN);discord.py
requirements.txt:
discord.py python-dotenv
main.py:
import os
import discord
from dotenv import load_dotenv
load_dotenv()
client = discord.Client(intents=discord.Intents.default())
@client.event
async def on_ready():
print(f"Zalogowano jako {client.user}")
client.run(os.environ["DISCORD_TOKEN"])Plik .env (w obu przypadkach)
DISCORD_TOKEN=tutaj_wklej_token
Jeśli trzymasz kod na GitHubie, dopisz .env do pliku .gitignore. Token w publicznym repozytorium boty wyłapują w kilka minut.
4. Wgraj pliki na serwer
Przez panel: otwórz serwer w panelu gier, zakładka Files. Usuń plik startowy z instrukcją, wgraj swoje pliki przyciskiem Upload i utwórz plik .env przyciskiem New File. Folderu node_modules ani środowiska wirtualnego Pythona nie wgrywaj: zależności instalują się same przy starcie.
Przez SFTP: adres, port i login znajdziesz w zakładce Settings, a hasło jest takie samo jak do panelu. Wygodnie działa to w programie WinSCP albo FileZilla.
Z repozytorium Git: w zakładce Startup wpisz adres repozytorium w polu Git Repo Address, usuń pliki w zakładce Files i przeinstaluj serwer w zakładce Settings (Reinstall Server). Z włączonym Auto Update każdy restart pobiera najnowszy kod. Plik .env utwórz ręcznie w zakładce Files, bo nie ma go w repozytorium.
5. Uruchom bota
W zakładce Console kliknij Restart. Serwer zainstaluje zależności i uruchomi bota. Po kilku sekundach w konsoli powinien pojawić się komunikat „Zalogowano jako…”, a bot na Discordzie zmieni stan na dostępny.
Plik startowy to domyślnie index.js (Node.js) albo main.py (Python). Inną nazwę wpiszesz w zakładce Startup, w polu Main file albo App py file.
Gdy coś nie działa
| Komunikat w konsoli | Co zrobić |
|---|---|
Used disallowed intents | włącz w Developer Portal intencje, o które prosi kod (krok 1.3) |
An invalid token was provided albo Improper token | skopiuj token jeszcze raz, sprawdź .env (bez cudzysłowów i spacji) |
Cannot find module albo ModuleNotFoundError | brakuje biblioteki w package.json albo requirements.txt, dopisz ją i zrestartuj |
| bot uruchamia plik z instrukcją | sprawdź nazwę pliku startowego w zakładce Startup |
Dobre praktyki
- Jeden bot, jeden serwer. Restart jednego nie zatrzyma wtedy drugiego, a logi się nie mieszają.
- Codzienny restart ustawisz w zakładce Schedules. Przydaje się botom, które z czasem zużywają coraz więcej pamięci.
- Panel WWW bota może nasłuchiwać na przydzielonym porcie: numer jest w zmiennej środowiskowej
SERVER_PORT, a adres w zakładce Network. - Tylko konta botów. Uruchamianie automatów na zwykłym koncie użytkownika (tzw. selfboty) łamie regulamin Discorda i grozi blokadą konta.
Postaw go w kilka minut, z instalatorem pluginów i modów w panelu.
Zobacz też: Hosting bota Discord
Zobacz też
Aktualizacja: 2026-09-26