უფასო ბოტის ჰოსტი მუშაობს, სანამ კონტეინერი დაიძინებს ან სერვისი მოვლენის შუაში გამოირთვება. $3-იანი VPS systemd-ით ბოტს ნამდვილად ონლაინ ინახავს. ეს how-to-ა; უფრო სრული განხილვისა და მუსიკის-ბოტის შენიშვნებისთვის იხ. Discord ბოტის ჰოსტინგი VPS-ზე და VPS Discord ბოტებისთვის გამოყენების ქეისი. გამოყოფილი IP არ სჭირდება — Discord ბოტი მხოლოდ გამავალ კავშირებს ამყარებს, ამიტომ NAT გეგმა ($3/თვე-დან) იდეალურია.
1. დააინსტალე runtime და შენი ბოტი (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. Restart=always-იანი systemd სერვისი
# /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-ს ხდის — დაუმუშავებელი rejection ღამის 3 საათზე ხელახლა უშვებს, ნაცვლად იმისა, რომ ბოტი მკვდარი დატოვოს. (მეტი systemd სერვისის შექმნა-ში.)
სამაგიეროდ Python?
იგივე ნიმუში — venv და discord.py, ერთეული venv-ის Python-ზე მიმართული:
ExecStart=/opt/bot/.venv/bin/python bot.py
შენიშვნები
- რამდენიმე ბოტი? დააკოპირე ერთეული თითო ბოტისთვის (
discordbot-a.service, …), ან გაუშვი თითოეული კონტეინერში Docker-ის--restart unless-stopped-ით. - მუსიკის ბოტი? დაამატე
ffmpegდა ასწიე Micro/Small-ზე — აუდიოს კოდირება აქ ერთადერთია, რაც CPU-ს ითხოვს. ტრაფიკი ყველა გეგმაზე გაუზომავია, ამიტომ სტრიმინგი ანგარიშს არ გაზრდის.
Nano $3/თვე, root დაახლოებით ერთ წუთში, KYC-ის გარეშე, გადახდა კრიპტოთი — საკმარისად იაფი, რომ ერთჯერადი იყოს, როცა ბოტის პროექტი დასრულდება. იგივე ნიმუში Telegram ბოტებისთვის.
კომენტარები
ჯერ არ არის კომენტარები. იყავით პირველი.