- Katılım
- 9 Şub 2024
- Mesajlar
- 946
- Tepkime puanı
- 1,780
- Puanları
- 93
jhaeger
Discord Botu 7/24 Nasıl Açık Tutulur?
VPS, Railway, PM2 ve ücretsiz seçenekler rehberi
VPS, Railway, PM2 ve ücretsiz seçenekler rehberi
Selamlar SroCave Ailesi!
Botunuzu yazdınız, çalıştırdınız, her şey harika... Ta ki bilgisayarınızı kapatana kadar.
Bot Neden Kapanır?
Botunuz, çalıştığı bilgisayarda açık olan bir programdır. Şu durumlarda çevrimdışı olur:- Bilgisayarı kapattığınızda veya uyku moduna aldığınızda
- Terminal penceresini kapattığınızda
- İnternet bağlantısı koptuğunda
- Kodda bir hata olup program çöktüğünde
Çözüm, botu sürekli açık olan bir makinede ve çökerse kendini yeniden başlatan bir yöneticiyle çalıştırmaktır.
Hosting Seçenekleri
- Kendi bilgisayarınız: Ücretsiz ama bilgisayar sürekli açık kalmalı. Sadece test için uygundur.
- Raspberry Pi / eski bilgisayar: Tek seferlik masraf, düşük elektrik tüketimi. Evde internet kesilirse bot da düşer.
- VPS (Sanal Sunucu): En esnek ve en yaygın çözüm. Aylık düşük ücretle tam kontrol sağlar.
- Railway gibi PaaS servisleri: Kurulum çok kolay, GitHub'dan otomatik yayın yapar. Genelde kullanım başına ücretlidir.
- Bot hosting servisleri: Discord botlarına özel, panelden yönetilen servisler. Küçük botlar için pratik.
Ücretsiz Hosting Hakkında Dürüst Not: Eskiden popüler olan birçok ücretsiz servis (Heroku, Glitch vb.) ücretsiz planlarını kaldırdı veya sınırladı. Ücretsiz seçenekler genelde ya belirli süre/kredi ile sınırlı, ya da bir süre sonra uykuya giren türdendir. Uykuya giren servisler bot için uygun değildir. Fiyatlar ve planlar sık değiştiği için kayıt olmadan önce güncel koşulları kontrol edin.
Yöntem 1: VPS + PM2 (Node.js Botları)
VPS sağlayıcınız size bir IP adresi ve şifre/anahtar verir. Bağlantı için:
Bash:
ssh root@SUNUCU_IP
Bash:
apt update && apt upgrade -y
curl -fsSL https://deb.nodesource.com/setup_lts.x | bash -
apt install -y nodejs git
node -v
Bash:
git clone https://github.com/KULLANICI_ADI/BOT_REPO.git
cd BOT_REPO
npm install
Bash:
nano .env
Kod:
TOKEN=BOT_TOKENINIZ
CTRL + O, Enter, çıkmak için CTRL + X.PM2, botunuzu arka planda çalıştırır, çökerse yeniden başlatır.
Bash:
npm install -g pm2
pm2 start index.js --name srocave-bot
Bash:
pm2 startup
pm2 save
pm2 startup size bir komut verir, onu kopyalayıp çalıştırmayı unutmayın. Ardından pm2 save ile kaydedin.
Faydalı PM2 Komutları
pm2 list: Çalışan botları listelerpm2 logs srocave-bot: Canlı logları gösterirpm2 restart srocave-bot: Botu yeniden başlatırpm2 stop srocave-bot: Botu durdururpm2 delete srocave-bot: Botu PM2'den kaldırırpm2 monit: CPU ve RAM kullanımını gösterir
Yöntem 2: VPS + systemd (Python Botları)
Python botları için PM2 yerine Linux'un kendi servis yöneticisi systemd kullanılabilir. (PM2 de Python'u çalıştırabilir: pm2 start bot.py --interpreter python3)
Bash:
apt update && apt install -y python3 python3-pip python3-venv git
git clone https://github.com/KULLANICI_ADI/BOT_REPO.git
cd BOT_REPO
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Bash:
nano /etc/systemd/system/srocave-bot.service
Kod:
[Unit]
Description=SroCave Discord Botu
After=network.target
[Service]
WorkingDirectory=/root/BOT_REPO
ExecStart=/root/BOT_REPO/venv/bin/python bot.py
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
Bash:
systemctl daemon-reload
systemctl enable --now srocave-bot
systemctl status srocave-bot
Logları izlemek için:
Bash:
journalctl -u srocave-bot -f
Yöntem 3: Railway (Kolay Kurulum)
Sunucu yönetmek istemiyorsanız Railway gibi servisler işi çok kolaylaştırır:- Botunuzu bir GitHub deposuna yükleyin. Token'ı asla koda veya depoya yazmayın!
- Railway'de yeni proje oluşturup GitHub deponuzu bağlayın.
- Variables bölümüne
TOKENdeğişkenini ekleyin. - Başlatma komutunu ayarlayın (Node için
node index.js, Python içinpython bot.py). - Deploy edin. Kodu GitHub'a her gönderişinizde bot otomatik güncellenir.
Not: Bu tür servislerde ücretlendirme genelde kullanıma göre hesaplanır. Küçük botlar düşük maliyetle çalışır ama deneme kredisi bittikten sonra ücretli plana geçmeniz gerekebilir.
Güvenlik Önerileri
- Token'ı her zaman
.envdosyasında veya ortam değişkenlerinde saklayın. .gitignoredosyasına.envvenode_modulesekleyin.- Mümkünse





