Bot Discord na Twoim laptopie umiera w chwili, gdy zamkniesz klapę. W porządku do testów — bezużyteczny dla bota, na którym Twój serwer faktycznie polega. Przenieś go na VPS, a pozostaje online: przetrwa spadek Twojego wifi, nie zatrzymuje się, gdy śpisz, i sam łączy się z powrotem z Discordem.
Oto całość — minimalny bot, usługa, która utrzymuje go przy życiu, i jak zapłacić bez wręczania dokumentu.
Dlaczego VPS, a nie Twój laptop
Bot Discord potrzebuje stabilnego, zawsze włączonego połączenia z bramą Discorda. Laptop zasypia, restartuje się po aktualizacje i zmienia sieci — za każdym razem bot spada offline, a członkowie zauważają. VPS trzyma jedno stałe połączenie całą dobę. To cały powód, dla którego ludzie przenoszą boty z osobistych maszyn.
Jaki rozmiar — i jak płacisz
Bot Discord jest lekki. Trzyma websocket i reaguje na zdarzenia, więc maszyna głównie czeka:
- 1 GB RAM, 1–2 rdzenie obejmuje większość botów — nawet całkiem zajętych.
- Zwiększaj rozmiar tylko, jeśli bot sam wykonuje ciężką pracę: generowanie obrazów, lokalny model, audio dla wielu serwerów, duża baza danych.
Dwa praktyczne wybory:
- NAT wystarczy. Bot wykonuje tylko połączenia wychodzące do Discorda, więc plan NAT z przekierowanym SSH działa — bez dedykowanego IP, bez otwartych portów przychodzących. Dodaj publiczne IP tylko, jeśli uruchamiasz też panel webowy lub odbierasz webhooki.
- Bez KYC, płatność kryptowalutą. Zarejestruj się e-mailem i płać w USDC lub USDT na Base lub Ethereum — bez karty, bez dokumentów. Karta też działa, ale on-ramp ma minimum ~27 $, więc doładowanie małego salda raz jest wygodniejsze dla taniego planu.
To tylko CPU i działa z jednego centrum danych w Niemczech — całkowicie w porządku dla bota, warto wiedzieć, jeśli potrzebujesz GPU lub konkretnego regionu.
Minimalny bot
Zaloguj się przez SSH, zainstaluj Pythona i wrzuć mały bot discord.py:
sudo apt update && sudo apt install -y python3-venv
mkdir ~/bot && cd ~/bot
python3 -m venv venv && source venv/bin/activate
pip install -U discord.py
# bot.py
import os, discord
intents = discord.Intents.default()
intents.message_content = True
client = discord.Client(intents=intents)
@client.event
async def on_ready():
print(f"online as {client.user}")
@client.event
async def on_message(m):
if m.author == client.user:
return
if m.content == "!ping":
await m.channel.send("pong")
client.run(os.environ["DISCORD_TOKEN"])
Zdobądź token z Discord Developer Portal (Twoja aplikacja → Bot → Reset Token) i włącz tam intent Message Content, jeśli Twój bot czyta wiadomości.
Utrzymaj go przy życiu z systemd
Uruchamianie python bot.py w Twojej sesji SSH oznacza, że bot umiera, gdy się rozłączysz. Usługa systemd to naprawia — restartuje się przy awariach i przetrwa restarty:
# /etc/systemd/system/discordbot.service
[Unit]
Description=Discord bot
After=network-online.target
[Service]
User=botuser
WorkingDirectory=/home/botuser/bot
Environment=DISCORD_TOKEN=your-token-here
ExecStart=/home/botuser/bot/venv/bin/python bot.py
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now discordbot
sudo journalctl -u discordbot -f # obserwuj logi
To różnica między „skryptem, który uruchamiam” a „botem, który uruchamia się sam”.
Uczciwe zastrzeżenia
- Strzeż tokenu. Trzymaj go w pliku usługi (tylko root) lub zmiennej środowiskowej, uruchamiaj jako
botuserinny niż root, nigdy nie commituj. Jeśli wycieknie, zresetuj go w Developer Portal natychmiast. - Głos jest cięższy. Bot muzyczny/głosowy strumieniujący do wielu serwerów potrzebuje więcej CPU i pasma niż bot tekstowy — zwiększ rozmiar i przetestuj, zanim skalujesz.
- Obserwuj, co bot robi, nie tylko hostowanie. Hosting jest tani; jeśli Twój bot woła płatne API w pętli, tam pojawia się koszt.
W tych granicach bot Discord na własnym serwerze po prostu pozostaje włączony — co jest całym sensem. Wybierz plan, zapłać kryptowalutą i miej go online w kilka minut. Jeśli uruchamiasz też inne boty, ten sam wzorzec systemd utrzymuje dowolny proces przy życiu.
Gotowa konfiguracja: zobacz VPS dla botów Discord — zalecany plan i minutowe wdrożenie za krypto.
Komentarze
Brak komentarzy. Bądź pierwszy.