Hosting bota Discord w Node.js (discord.js) 24/7
Zaktualizowano 25-10-2026
Bot w discord.js działa u nas całą dobę: bez komputera włączonego w domu i bez sztuczek z „budzeniem” bota jak na darmowych platformach. Oto jak go wgrać i utrzymać w dobrej formie.
Przygotuj projekt
Bot potrzebuje pliku package.json z zależnościami, np.:
{
"name": "moj-bot",
"main": "index.js",
"dependencies": {
"discord.js": "14.19.0",
"dotenv": "16.4.5"
}
}Nie wgrywaj folderu node_modules: panel instaluje zależności przy starcie bota.
Wgraj pliki
Pliki wgrasz w Menedżerze plików, przez SFTP (dane w Menedżer plików → Dostęp SFTP) albo z repozytorium Git, które ustawisz w Ustawienia serwera → Startup.
Plik startowy i wersja Node.js
W Ustawienia serwera → Startup wskaż plik startowy, np. index.js. W Środowisko wybierz wersję Node.js: najlepiej najnowszą dostępną wersję LTS.
Token w pliku .env
Utwórz plik .env:
DISCORD_TOKEN=twój_tokeni odczytaj go w kodzie:
require('dotenv').config();
client.login(process.env.DISCORD_TOKEN);Nie wklejaj tokenu do kodu ani do repozytorium. Gdy token wycieknie, wygeneruj nowy w Discord Developer Portal.
Komendy slash
Komendy slash rejestrujesz osobnym skryptem, np. deploy-commands.js z przewodnika discord.js. Wystarczy uruchomić go raz: ustaw go na chwilę jako plik startowy, uruchom bota, a potem przywróć index.js.
Aktualizacja bibliotek
Zmień wersję w package.json i zrestartuj bota. Jeśli wersja się nie zmienia, usuń package-lock.json i folder node_modules, a potem uruchom bota ponownie.
Częste błędy
- An invalid token was provided: token jest nieaktualny, wklej nowy do
.env. - Used disallowed intents: włącz potrzebne Privileged Gateway Intents w Developer Portal.
- Cannot find module: dopisz brakującą bibliotekę do
package.json. - Bot jest online, ale nie reaguje na wiadomości: włącz intent Message Content w Developer Portal i dodaj
GatewayIntentBits.MessageContentw kodzie.
Przyczynę awarii pokazuje też Dziennik zdarzeń. Podstawy (utworzenie bota w Discordzie) są w poradniku Bot Discord: pierwsze kroki.