Dizüstünüzdeki bir Discord botu, kapağı kapattığınız an ölür. Test için sorun değil — ama sunucunuzun gerçekten dayandığı bir bot için işe yaramaz. Onu bir VPS'e taşıyın ve çevrimiçi kalır: wifi'nizin düşmesinden sağ çıkar, siz uyurken durmaz ve Discord'a kendi başına yeniden bağlanır.
İşte her şey — minimal bir bot, onu ayakta tutan bir hizmet ve kimlik vermeden nasıl ödeneceği.
Neden dizüstün değil, bir VPS
Bir Discord botu, Discord'un ağ geçidine kararlı, her zaman açık bir bağlantıya ihtiyaç duyar. Bir dizüstü uyur, güncellemeler için yeniden başlar ve ağ değiştirir — her seferinde bot çevrimdışı düşer ve üyeler fark eder. Bir VPS, gün boyu tek bir kararlı bağlantı tutar. İnsanların botları kişisel makinelerinden taşımasının tüm sebebi bu.
Hangi boyut — ve nasıl ödersin
Bir Discord botu hafiftir. Bir websocket tutar ve olaylara tepki verir, o yüzden kutu çoğunlukla bekler:
- 1 GB RAM, 1–2 çekirdek çoğu botu kapsar — oldukça meşgul olanları bile.
- Yalnızca bot ağır işi kendi yapıyorsa büyüt: görüntü üretimi, yerel bir model, birçok sunucu için ses, büyük bir veritabanı.
İki pratik karar:
- NAT yeter. Bot yalnızca Discord'a giden bağlantılar yapar, o yüzden port yönlendirmeli SSH'li bir NAT planı çalışır — özel IP yok, açık gelen port yok. Yalnızca bir web kontrol paneli de çalıştırırsan ya da webhook alırsan genel bir IP ekle.
- KYC yok, kripto ile ödenir. Bir e-postayla kaydol ve Base ya da Ethereum üzerinde USDC ya da USDT ile öde — kart yok, belge yok. Kart da çalışır ama on-ramp'ın ~$27 minimumu var, o yüzden ucuz bir plan için küçük bir bakiyeyi bir kez yüklemek daha akıcı.
Yalnızca CPU'dur ve Almanya'daki tek bir veri merkezinden çalışır — bir bot için gayet iyi, bir GPU'ya ya da belirli bir bölgeye ihtiyacın varsa bilmekte fayda var.
Minimal bir bot
SSH ile bağlan, Python kur ve küçük bir discord.py botu bırak:
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"])
Token'ı Discord Developer Portal'dan al (uygulaman → Bot → Reset Token) ve botun mesaj okuyorsa oradaki Message Content intent'ini etkinleştir.
systemd ile ayakta tut
SSH oturumunda python bot.py çalıştırmak, bağlantıyı kestiğinde botun ölmesi demektir. Bir systemd hizmeti bunu düzeltir — çökmelerde yeniden başlar ve yeniden başlatmalardan sağ çıkar:
# /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 # logları izle
"Çalıştırdığım bir betik" ile "kendini çalıştıran bir bot" arasındaki fark budur.
Dürüst uyarılar
- Token'ı koru. Onu hizmet dosyasında (yalnızca root) ya da bir ortam değişkeninde tut, root olmayan bir
botuserolarak çalıştır, asla commit etme. Sızarsa, Developer Portal'da hemen sıfırla. - Ses daha ağırdır. Birçok sunucuya akış yapan bir müzik/ses botu, bir metin botundan daha fazla CPU ve bant genişliği ister — ölçeklemeden önce büyüt ve test et.
- Yalnızca barındırmayı değil, botun ne yaptığını izle. Barındırma ucuzdur; botun bir döngüde ücretli API'ler çağırıyorsa, maliyet orada görünür.
Bunun içinde, kendi sunucusundaki bir Discord botu sadece ayakta kalır — ki bütün mesele bu. Bir plan seç, kripto parayla öde ve dakikalar içinde çevrimiçi et. Başka botlar da çalıştırıyorsan, aynı systemd deseni herhangi bir süreci ayakta tutar.
Hazır kurulum: Discord botları için VPS sayfasına bak — önerilen plan ve bir dakikalık kripto dağıtımı.
Yorumlar
Henüz yorum yok. İlk olun.