Безкоштовний хостинг для ботів працює, поки контейнер не засне або сервіс не вимкнеться посеред події. VPS за $3 із systemd тримає бота онлайн по-справжньому. Це інструкція; за повнішим розбором і нотатками про музичного бота дивіться хостинг Discord-бота на VPS та кейс VPS для Discord-ботів. Виділений IP не потрібен — Discord-бот робить лише вихідні з'єднання, тож NAT-тариф (від $3/міс) ідеальний.
1. Встановіть рантайм і вашого бота (приклад на Node)
apt update && apt install -y curl git
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt install -y nodejs
git clone https://github.com/you/your-bot.git /opt/bot
cd /opt/bot && npm ci --omit=dev
2. Тримайте токен в env-файлі
cat >/opt/bot/.env <<'EOF'
DISCORD_TOKEN=your_token_here
EOF
chmod 600 /opt/bot/.env
3. systemd-сервіс із Restart=always
# /etc/systemd/system/discordbot.service
[Unit]
Description=Discord Bot
After=network.target
[Service]
WorkingDirectory=/opt/bot
ExecStart=/usr/bin/node index.js
EnvironmentFile=/opt/bot/.env
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now discordbot
journalctl -u discordbot -f
Restart=always — ось що робить його 24/7: необроблений reject о 3 годині ночі призводить до перезапуску, а не залишає бота мертвим. (Докладніше у створенні systemd-сервісу.)
Замість цього Python?
Той самий патерн — venv і discord.py, з unit'ом, що вказує на Python із venv:
ExecStart=/opt/bot/.venv/bin/python bot.py
Нотатки
- Кілька ботів? Скопіюйте unit на кожного бота (
discordbot-a.service, …), або запускайте кожного в контейнері з--restart unless-stoppedу Docker. - Музичний бот? Додайте
ffmpegі беріть Micro/Small — кодування аудіо тут єдине, що хоче CPU. Трафік безлімітний на будь-якому тарифі, тож стримінг не накрутить рахунок.
Nano за $3/міс, root приблизно за хвилину, без KYC, оплата в крипті — достатньо дешево, щоб бути одноразовим, коли бот-проєкт завершується. Той самий патерн для Telegram-ботів.
Коментарі
Поки немає коментарів. Будьте першим.