8 Bağımsız Bot • 190+ Komut • Mikroservis Mimarisi • Türkçe Dil Desteği
Özellikler • Kurulum • Komutlar • Dokümantasyon
- 🎯 Genel Bakış
- ✨ Özellikler
- 🤖 Bot Yapısı
- 📦 Gereksinimler
- 🚀 Hızlı Başlangıç
- ⚙️ Detaylı Kurulum
- 🎮 Kullanım
- 📚 Komut Listesi
- 🔧 Yapılandırma
- 📊 İzleme ve Yönetim
- 💾 Yedekleme
- 🐛 Sorun Giderme
- 📚 Dokümantasyon
- 🤝 Katkıda Bulunma
- 📄 Lisans
Laving PM2 Supervisor Bot Sistemi, Discord sunucularınızı profesyonel seviyede yönetmenizi sağlayan, mikroservis mimarisine dayalı, 8 bağımsız bot sürecinden oluşan kapsamlı bir altyapıdır.
- 🔒 Güvenlik Odaklı: 3 katmanlı Guard sistemi ile sunucunuzu koruyun
- ⚡ Yüksek Performans: PM2 ile otomatik yeniden başlatma ve kaynak optimizasyonu
- 🎯 Modüler Yapı: Her bot özel bir göreve odaklanır, bağımsız çalışır
- 🇹🇷 Türkçe: Tüm komutlar ve mesajlar Türkçe
- 📊 Kapsamlı İstatistikler: Detaylı aktivite takibi, seviye ve ekonomi sistemi
- 🛠️ Kolay Kurulum: 10 hazır sunucu şablonu ile tek komutla kurulum
- 💾 Otomatik Yedekleme: Sunucu verilerinizi güvende tutun
|
|
- ✅ Mikroservis Mimarisi: 8 bağımsız bot süreci
- ✅ PM2 Süreç Yönetimi: Otomatik yeniden başlatma, izleme
- ✅ MongoDB Entegrasyonu: Merkezi veri yönetimi
- ✅ Discord.js v14: Modern slash commands
- ✅ Health Monitoring: Otomatik sağlık kontrolleri
- ✅ Otomatik Yedekleme: Veritabanı backup sistemi
- ✅ Detaylı Loglama: Winston tabanlı log sistemi
- ✅ Performans Optimizasyonu: Bellek ve CPU optimizasyonu
graph TB
A[Laving Bot Sistemi] --> B[Supervisor Bot]
A --> C[Guard Bots]
A --> D[Moderation Bot]
A --> E[Register Bot]
A --> F[Statistics Bot]
A --> G[Management Bot]
C --> C1[Guard I]
C --> C2[Guard II]
C --> C3[Guard III]
B --> H[MongoDB]
D --> H
E --> H
F --> H
G --> H
C1 --> H
C2 --> H
C3 --> H
| Bot | Görev | Komut Sayısı | Özellikler |
|---|---|---|---|
| 🎯 Supervisor | Sistem yönetimi ve koordinasyon | 15+ | Kurulum, yardım menüsü, sistem bilgileri |
| 🛡️ Guard I | Sunucu/Rol/Kanal koruması | Event-based | Yetkisiz değişiklikleri geri alır |
| 🛡️ Guard II | Emoji/Sticker/Webhook koruması | Event-based | İçerik koruması |
| 🛡️ Guard III | Bot koruması | Event-based | Bot saldırılarını engeller |
| ⚖️ Moderation | Moderasyon ve ceza sistemi | 55+ | Ban, mute, jail, warn, automod |
| 📝 Register | Üye kayıt sistemi | 3 | İsim değiştirme, kayıt |
| 📊 Statistics | İstatistik ve aktivite | 50+ | Seviye, ekonomi, davet takibi |
| 🔧 Management | Sunucu yönetimi | 70+ | Rol, kanal, yetki yönetimi |
Toplam: 8 Bot • 190+ Komut • Sınırsız Event Handler
| Bileşen | Minimum | Önerilen |
|---|---|---|
| Node.js | v18.0.0 | v20.x.x |
| MongoDB | v5.0 | v7.0 |
| PM2 | v5.3.0 | Latest |
| RAM | 2 GB | 4 GB |
| Disk | 1 GB | 5 GB |
| İşletim Sistemi | Linux, macOS, Windows | Ubuntu 22.04 LTS |
|
Bot Uygulamaları
|
Privileged Gateway Intents
|
# 1. Depoyu klonlayın
git clone https://github.com/yourusername/laving-pm2-supervisor-bot.git
cd laving-pm2-supervisor-bot
# 2. Bağımlılıkları yükleyin
npm install
# 3. Ortam değişkenlerini yapılandırın
cp .env.example .env
# .env dosyasını düzenleyin ve bot tokenlarınızı ekleyin
# 4. Botları başlatın
npm start
# 5. Durumu kontrol edin
npm run statusBotlarınız artık çalışıyor. Discord sunucunuzda .yardım yazarak başlayın.
📥 1. Node.js Kurulumu
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
node --version # Kontrolbrew install node@18
node --version # Kontrolnodejs.org adresinden LTS sürümünü indirin ve kurun.
🗄️ 2. MongoDB Kurulumu
Linux
sudo apt install mongodb
sudo systemctl start mongod
sudo systemctl enable mongodmacOS
brew tap mongodb/brew
brew install mongodb-community
brew services start mongodb-communityWindows mongodb.com adresinden Community Server'ı indirin.
- MongoDB Atlas hesabı oluşturun
- Ücretsiz cluster oluşturun (M0 tier)
- Database user ekleyin
- Network Access'te IP whitelist ayarlayın (0.0.0.0/0)
- Connection string'i kopyalayın
mongodb+srv://username:password@cluster.mongodb.net/laving-bot-system
🤖 3. Discord Bot Oluşturma
-
Developer Portal'a gidin: discord.com/developers/applications
-
Yeni Uygulama Oluşturun
- "New Application" tıklayın
- Bot adı girin (örn: "Laving Supervisor")
- "Create" tıklayın
-
Bot Ekleyin
- Sol menüden "Bot" sekmesine gidin
- "Add Bot" → "Yes, do it!" tıklayın
- Token'ı kopyalayın (güvenli bir yere kaydedin)
-
Intent'leri Aktifleştirin
- "Privileged Gateway Intents" bölümüne gidin
- ✅ Presence Intent
- ✅ Server Members Intent
- ✅ Message Content Intent
-
Client ID'yi Kopyalayın
- "General Information" sekmesine gidin
- "Application ID"yi kopyalayın
- Laving Supervisor
- Laving Guard I
- Laving Guard II
- Laving Guard III
- Laving Moderation
- Laving Register
- Laving Statistics
- Laving Management
Her bot için aşağıdaki linki kullanın (YOUR_CLIENT_ID yerine bot'un Client ID'sini yazın):
https://discord.com/api/oauth2/authorize?client_id=YOUR_CLIENT_ID&permissions=8&scope=bot%20applications.commands
⚙️ 4. Ortam Değişkenleri Yapılandırması
.env dosyasını oluşturun ve düzenleyin:
cp .env.example .env
nano .env # veya herhangi bir metin editörüÖrnek .env dosyası:
# ============================================
# MONGODB
# ============================================
MONGODB_URI=mongodb://localhost:27017/laving-bot-system
# Veya MongoDB Atlas:
# MONGODB_URI=mongodb+srv://user:pass@cluster.mongodb.net/laving-bot-system
# ============================================
# BOT TOKENS
# ============================================
SUPERVISOR_TOKEN=MTIzNDU2Nzg5MDEyMzQ1Njc4OQ.GhIjKl.MnOpQrStUvWxYzAbCdEfGhIjKlMnOpQrStUv
GUARD_I_TOKEN=your_guard_i_token_here
GUARD_II_TOKEN=your_guard_ii_token_here
GUARD_III_TOKEN=your_guard_iii_token_here
MODERATION_TOKEN=your_moderation_token_here
REGISTER_TOKEN=your_register_token_here
STATISTICS_TOKEN=your_statistics_token_here
MANAGEMENT_TOKEN=your_management_token_here
# ============================================
# CLIENT IDS
# ============================================
SUPERVISOR_CLIENT_ID=1234567890123456789
GUARD_I_CLIENT_ID=your_guard_i_client_id
GUARD_II_CLIENT_ID=your_guard_ii_client_id
GUARD_III_CLIENT_ID=your_guard_iii_client_id
MODERATION_CLIENT_ID=your_moderation_client_id
REGISTER_CLIENT_ID=your_register_client_id
STATISTICS_CLIENT_ID=your_statistics_client_id
MANAGEMENT_CLIENT_ID=your_management_client_id
# ============================================
# GENEL AYARLAR
# ============================================
PREFIX=.
NODE_ENV=production
LOG_LEVEL=info🚀 5. Botları Başlatma
# Tüm botları başlat
npm start
# Durumu kontrol et
npm run status
# Logları görüntüle
npm run logs# Her botu ayrı ayrı başlat
pm2 start ecosystem.config.cjsLinux/macOS:
pm2 startup
# Gösterilen komutu çalıştırın
pm2 saveWindows:
Task Scheduler kullanarak scripts/pm2-startup.bat dosyasını sistem başlangıcına ekleyin.
✅ 6. Kurulum Doğrulama
# PM2 status
npm run status
# Çıktı şöyle olmalı:
# ┌─────┬──────────────────────┬─────────┬─────────┐
# │ id │ name │ status │ restart │
# ├─────┼──────────────────────┼─────────┼─────────┤
# │ 0 │ laving-supervisor │ online │ 0 │
# │ 1 │ laving-guard-i │ online │ 0 │
# │ 2 │ laving-guard-ii │ online │ 0 │
# │ 3 │ laving-guard-iii │ online │ 0 │
# │ 4 │ laving-moderation │ online │ 0 │
# │ 5 │ laving-register │ online │ 0 │
# │ 6 │ laving-statistics │ online │ 0 │
# │ 7 │ laving-management │ online │ 0 │
# └─────┴──────────────────────┴─────────┴─────────┘Sunucunuzda şu komutları deneyin:
.ping # Bot gecikmesini gösterir
.botbilgi # Bot bilgilerini gösterir
.yardım # Yardım menüsünü açar
npm run healthTüm kontroller ✅ işareti göstermelidir.
Botları başlattıktan sonra Discord sunucunuzda:
.setup
10 hazır şablondan birini seçin:
- 🎓 Akademi/Okul Sunucusu
- 💬 Topluluk/Sohbet Sunucusu
- 💻 Geliştirici/Kod Sunucusu
- 👥 Ekip Sunucusu
- 🎮 Oyun Sunucusu
- 🏷️ Public/Taglı Sunucusu
- 🎭 Roleplay Sunucusu
- 🛒 Satış/Store Sunucusu
- 📺 Yayıncı/Streamer Sunucusu
- 🧛 Vampir/Köylü Sunucusu
.logkur
Otomatik olarak tüm log kanallarını oluşturur.
Güvenilir yöneticileri whitelist'e ekleyin:
.whitelist add @kullanıcı
.whitelist remove @kullanıcı
.whitelist list
# Botları başlat
npm start
# Botları durdur
npm stop
# Botları yeniden başlat
npm restart
# Durum görüntüle
npm run status
# Logları görüntüle
npm run logs
# Belirli bir botun logları
pm2 logs laving-supervisor
# İzleme paneli
npm run monit
# Sağlık kontrolü
npm run health| Komut | Açıklama |
|---|---|
.setup / .kur |
Sunucu kurulum şablonları |
.logkur |
Log kanalları kurulumu |
.yardım / .help |
Yardım menüsü |
.komutara <kelime> |
Komut arama |
.adminyardım |
Admin komutları listesi |
.botbilgi |
Bot bilgileri ve istatistikleri |
.ping |
Bot gecikmesi |
.uptime |
Bot çalışma süresi |
.sunucubilgi |
Sunucu bilgileri |
.kullanıcıbilgi [@kullanıcı] |
Kullanıcı bilgileri |
Ceza Komutları
| Komut | Açıklama |
|---|---|
.ban <kullanıcı> [sebep] |
Kullanıcıyı yasakla |
.tempban <kullanıcı> <süre> [sebep] |
Geçici yasakla |
.unban <kullanıcı_id> |
Yasağı kaldır |
.kick <kullanıcı> [sebep] |
Kullanıcıyı at |
.mute <kullanıcı> [süre] [sebep] |
Kullanıcıyı sustur |
.unmute <kullanıcı> |
Susturmayı kaldır |
.voicemute <kullanıcı> [süre] |
Ses susturma |
.unvoicemute <kullanıcı> |
Ses susturmayı kaldır |
.chatmute <kullanıcı> [süre] |
Chat susturma |
.unchatmute <kullanıcı> |
Chat susturmayı kaldır |
.jail <kullanıcı> [sebep] |
Cezalıya at |
.unjail <kullanıcı> |
Cezalıdan çıkar |
.warn <kullanıcı> [sebep] |
Uyarı ver |
.unwarn <kullanıcı> <uyarı_id> |
Uyarıyı kaldır |
Toplu İşlemler
| Komut | Açıklama |
|---|---|
.massban <kullanıcı1> <kullanıcı2> ... |
Toplu yasaklama |
.masskick <kullanıcı1> <kullanıcı2> ... |
Toplu atma |
.massmute <kullanıcı1> <kullanıcı2> ... |
Toplu susturma |
Kanal Yönetimi
| Komut | Açıklama |
|---|---|
.lock [kanal] |
Kanalı kilitle |
.unlock [kanal] |
Kanal kilidini aç |
.lockdown |
Tüm sunucuyu kilitle |
.unlockdown |
Sunucu kilidini aç |
.slowmode <süre> [kanal] |
Yavaş mod ayarla |
.clear <miktar> |
Mesaj sil |
.clearuser <kullanıcı> <miktar> |
Kullanıcının mesajlarını sil |
.clearbot <miktar> |
Bot mesajlarını sil |
.clearlinks <miktar> |
Link içeren mesajları sil |
Ses Kanalı Yönetimi
| Komut | Açıklama |
|---|---|
.disconnect <kullanıcı> |
Kullanıcıyı kanaldan at |
.disconnectall |
Tüm kullanıcıları at |
.move <kullanıcı> <kanal> |
Kullanıcıyı taşı |
.moveall <kanal> |
Herkesi taşı |
Moderasyon Bilgileri
| Komut | Açıklama |
|---|---|
.sicil <kullanıcı> |
Kullanıcı sicili |
.siciltemizle <kullanıcı> |
Sicili temizle |
.cezalar <kullanıcı> |
Aktif cezalar |
.case <case_id> |
Ceza detayları |
.banlist |
Yasaklı kullanıcılar |
.mutelist |
Susturulmuş kullanıcılar |
.jaillist |
Cezalıdaki kullanıcılar |
.modlog |
Moderasyon logları |
Otomatik Moderasyon
| Komut | Açıklama |
|---|---|
.automod |
AutoMod ayarları |
.antiraid |
Anti-raid koruması |
AutoMod Özellikleri:
- Spam koruması
- Link koruması
- Küfür filtresi
- Caps lock koruması
- Emoji spam koruması
- Mention spam koruması
Rol Yönetimi
| Komut | Açıklama |
|---|---|
.roluştur <isim> [renk] |
Rol oluştur |
.rolsil <rol> |
Rol sil |
.rolver <kullanıcı> <rol> |
Rol ver |
.rolal <kullanıcı> <rol> |
Rol al |
.roleherkese <rol> |
Herkese rol ver |
.roldenherkes <rol> |
Herkesten rol al |
.toplurol <rol> <kullanıcılar> |
Toplu rol ver |
.topluroldüşür <rol> <kullanıcılar> |
Toplu rol al |
.rolisim <rol> <yeni_isim> |
Rol ismini değiştir |
.rolrenk <rol> <renk> |
Rol rengini değiştir |
.rolicon <rol> <emoji> |
Rol ikonunu ayarla |
.rolkonum <rol> <konum> |
Rol konumunu değiştir |
.rolyetki <rol> |
Rol yetkilerini düzenle |
.rolkopyala <rol> <yeni_isim> |
Rol kopyala |
.rolbilgi <rol> |
Rol bilgileri |
.roluyeleri <rol> |
Rol üyeleri |
.rollist |
Tüm roller |
Kanal Yönetimi
| Komut | Açıklama |
|---|---|
.kanaloluştur <isim> <tip> |
Kanal oluştur |
.kanalsil <kanal> |
Kanal sil |
.kanaladı <kanal> <yeni_isim> |
Kanal ismini değiştir |
.kanalkategori <kanal> <kategori> |
Kanalı kategoriye taşı |
.kanalkilit <kanal> |
Kanalı kilitle |
.kanalaç <kanal> |
Kanal kilidini aç |
.kanalgizle <kanal> <rol> |
Kanalı gizle |
.kanalgöster <kanal> <rol> |
Kanalı göster |
.kanalkopyala <kanal> <yeni_isim> |
Kanal kopyala |
.kanaltemizle <kanal> |
Kanal mesajlarını temizle |
Kategori Yönetimi
| Komut | Açıklama |
|---|---|
.kategorioluştur <isim> |
Kategori oluştur |
.kategorisil <kategori> |
Kategori sil |
.kategoriadı <kategori> <yeni_isim> |
Kategori ismini değiştir |
.kategorikilit <kategori> |
Kategoriyi kilitle |
.kategoriaç <kategori> |
Kategori kilidini aç |
Sunucu Yönetimi
| Komut | Açıklama |
|---|---|
.sunucuadı <yeni_isim> |
Sunucu ismini değiştir |
.sunucuicon <resim> |
Sunucu ikonunu değiştir |
.sunucubanner <resim> |
Sunucu banner'ını değiştir |
.vanityurl <url> |
Vanity URL ayarla |
.afkkanal <kanal> |
AFK kanalı ayarla |
.afksüre <süre> |
AFK süresi ayarla |
Emoji ve Sticker
| Komut | Açıklama |
|---|---|
.emojiekle <isim> <resim/url> |
Emoji ekle |
.emojisil <emoji> |
Emoji sil |
.emojiadı <emoji> <yeni_isim> |
Emoji ismini değiştir |
.emojilist |
Tüm emojiler |
.stickerekle <isim> <resim> |
Sticker ekle |
.stickersil <sticker> |
Sticker sil |
.stickerlist |
Tüm stickerlar |
Otorol Sistemi
| Komut | Açıklama |
|---|---|
.otorol <rol> |
Otorol ayarla |
.otorolkapat |
Otorolü kapat |
.bototorol <rol> |
Bot otorolü ayarla |
.botrol <rol> |
Bot rolü ayarla |
.insanrol <rol> |
İnsan rolü ayarla |
Rol Panelleri
| Komut | Açıklama |
|---|---|
.butonrol |
Buton rol paneli oluştur |
.butonrolekle <panel_id> <rol> <emoji> <etiket> |
Butona rol ekle |
.butonrolsil <panel_id> <rol> |
Butondan rol sil |
.menürol |
Menü rol paneli oluştur |
.menürolekle <panel_id> <rol> <emoji> <açıklama> |
Menüye rol ekle |
.menürolsil <panel_id> <rol> |
Menüden rol sil |
Yetki Yönetimi
| Komut | Açıklama |
|---|---|
.yetkiver <kullanıcı> <yetki> |
Yetki ver |
.yetkial <kullanıcı> <yetki> |
Yetki al |
.yetkiekle <rol> <yetki> |
Role yetki ekle |
.yetkikaldır <rol> <yetki> |
Rolden yetki kaldır |
.yetkiler <rol> |
Rol yetkilerini göster |
Yedekleme
| Komut | Açıklama |
|---|---|
.yedekle |
Sunucuyu yedekle |
.yükle <yedek_id> |
Sunucuyu geri yükle |
.yedekler |
Yedek listesi |
Yedeklenen Veriler:
- Roller ve izinler
- Kanallar ve kategoriler
- Emoji ve stickerlar
- Sunucu ayarları
Profil ve İstatistikler
| Komut | Açıklama |
|---|---|
.profil [@kullanıcı] |
Kullanıcı profili |
.stats |
Sunucu istatistikleri |
.seviye |
Seviye bilgisi |
.sıralama |
Seviye sıralaması |
.topmesaj |
En çok mesaj atanlar |
.topses |
En çok ses aktif olanlar |
.topaktif |
En aktif kullanıcılar |
Seviye Sistemi
| Komut | Açıklama |
|---|---|
.xpver <kullanıcı> <miktar> |
XP ver |
.xpal <kullanıcı> <miktar> |
XP al |
.seviyesıfırla <kullanıcı> |
Seviyeyi sıfırla |
Seviye Sistemi Özellikleri:
- Mesaj başına XP kazanma
- Ses kanalında XP kazanma
- Seviye atlama ödülleri
- Özelleştirilebilir XP oranları
Ekonomi Sistemi
| Komut | Açıklama |
|---|---|
.para [@kullanıcı] |
Para bakiyesi |
.günlük |
Günlük ödül (500-1000₺) |
.haftalık |
Haftalık ödül |
.çalış |
Çalışarak para kazan |
.paraver <kullanıcı> <miktar> |
Para ver |
.paraal <kullanıcı> <miktar> |
Para al |
.zenginler |
En zenginler listesi |
.market |
Market menüsü |
.satınal <ürün> |
Ürün satın al |
.envanter |
Envanterini görüntüle |
Oyunlar:
.slot- Slot makinesi.yazıtura- Yazı tura.zar- Zar atma.sayıtahmin- Sayı tahmin oyunu
Davet Sistemi
| Komut | Açıklama |
|---|---|
.davetlerim |
Davet istatistiklerim |
.davetler [@kullanıcı] |
Kullanıcının davetleri |
.davetbonus <kullanıcı> <miktar> |
Davet bonusu ver |
Davet Takibi:
- Gerçek davetler
- Sahte davetler
- Ayrılan üyeler
- Bonus davetler
Eğlence Komutları
| Komut | Açıklama |
|---|---|
.avatar [@kullanıcı] |
Avatar göster |
.banner [@kullanıcı] |
Banner göster |
.emoji <emoji> |
Emoji büyüt |
.8ball <soru> |
Sihirli 8 topu |
.aşkölçer <kullanıcı1> <kullanıcı2> |
Aşk ölçer |
.ship <kullanıcı1> <kullanıcı2> |
Ship |
.söyle <mesaj> |
Bota mesaj söylet |
.gönder <kanal> <mesaj> |
Kanala mesaj gönder |
Etkileşim Komutları:
.sarıl <kullanıcı>- Sarıl.öp <kullanıcı>- Öp.tokat <kullanıcı>- Tokat at.gül- Gül.ağla- Ağla.dans- Dans et
Anket ve Oylama
| Komut | Açıklama |
|---|---|
.anket <soru> |
Anket oluştur |
.anketsonuç <anket_id> |
Anket sonuçları |
.oylama <soru> |
Oylama oluştur |
.çokluyoylama <soru> <seçenekler> |
Çoklu oylama |
.çekiliş <süre> <ödül> |
Çekiliş başlat |
.çekilişbitir <çekiliş_id> |
Çekilişi bitir |
.çekilişyeniden <çekiliş_id> |
Çekilişi yeniden çek |
Mini Oyunlar
| Komut | Açıklama |
|---|---|
.kelimebul |
Kelime bulma oyunu |
.hızlıyazma |
Hızlı yazma yarışması |
.akılyap |
Akıl yap oyunu |
| Komut | Açıklama |
|---|---|
.kayit <kullanıcı> <isim> <yaş> |
Kullanıcıyı kaydet |
.teyit <kullanıcı> <isim> <yaş> |
Kullanıcıyı teyit et |
.isim <kullanıcı> <yeni_isim> |
İsim değiştir |
Kayıt Sistemi Özellikleri:
- Otomatik isim değiştirme
- Kayıt logları
- İsim geçmişi
- Yaş kontrolü
# Gerçek zamanlı izleme paneli
pm2 monit
# Detaylı durum bilgisi
pm2 status
# Web dashboard (opsiyonel)
pm2 plus# Tüm logları görüntüle
pm2 logs
# Son 100 satır
pm2 logs --lines 100
# Belirli bir bot
pm2 logs laving-supervisor
# Logları temizle
pm2 flush
# Log dosyaları
tail -f logs/laving-2026-01-19.logLinux/macOS:
bash scripts/backup-database.shWindows:
MongoDB Compass veya mongodump kullanın.
bash scripts/restore-database.sh
# Yedek listesinden seçim yapınCron Job (Linux/macOS):
crontab -e
# Her gün saat 02:00'de yedekleme
0 2 * * * cd /path/to/laving-pm2-supervisor-bot && bash scripts/backup-database.shTask Scheduler (Windows):
- Task Scheduler'ı açın
- Yeni görev oluşturun
scripts/backup-database.shdosyasını ekleyin- Zamanlamayı ayarlayın
Yedeklenen Veriler:
- Sunucu ayarları
- Kullanıcı verileri
- İstatistikler ve seviyeler
- Ekonomi verileri
- Moderasyon kayıtları
❌ Botlar Başlamıyor
Olası Nedenler:
.envdosyası eksik veya hatalı- Bot tokenları geçersiz
- MongoDB bağlantısı başarısız
- Port çakışması
Çözüm:
# Logları kontrol edin
pm2 logs
# .env dosyasını kontrol edin
cat .env | grep TOKEN
# MongoDB durumunu kontrol edin
sudo systemctl status mongod # Linux
brew services list # macOS
# Botları yeniden başlatın
pm2 restart all🔌 MongoDB Bağlantı Hatası
Hata: "MongoServerError: Authentication failed"
Çözüm:
- MongoDB URI'yi kontrol edin
- Kullanıcı adı ve şifreyi doğrulayın
- MongoDB servisinin çalıştığını kontrol edin
- IP whitelist ayarlarını kontrol edin (Atlas)
# MongoDB bağlantısını test edin
mongosh "mongodb://localhost:27017/laving-bot-system"💾 Yüksek Bellek Kullanımı
Çözüm:
# Bellek kullanımını kontrol edin
pm2 monit
# Bellek limitini ayarlayın (ecosystem.config.cjs)
max_memory_restart: '500M'
# Logları temizleyin
pm2 flush
# Cache'leri temizleyin
pm2 restart all⚠️ Komutlar Çalışmıyor
Olası Nedenler:
- Bot izinleri yetersiz
- Slash komutları kaydedilmemiş
- Intent'ler aktif değil
Çözüm:
- Bot'un Administrator iznine sahip olduğunu kontrol edin
- Botları yeniden başlatın:
pm2 restart all - Discord cache'ini temizleyin (Ctrl+R)
- Bot tokenlarını yeniden kontrol edin
🔄 Bot Sürekli Yeniden Başlıyor
Çözüm:
# Hata loglarını inceleyin
pm2 logs laving-supervisor --err
# Bellek limitini artırın
# ecosystem.config.cjs dosyasında:
max_memory_restart: '1G'
# Otomatik yeniden başlatmayı geçici olarak kapatın
pm2 stop all
pm2 start ecosystem.config.cjs --no-autorestart| Dosya | Açıklama |
|---|---|
| API.md | API referansı ve kullanımı |
| BACKUP_RECOVERY.md | Yedekleme ve geri yükleme |
| BACKUP_SYSTEM.md | Yedekleme sistemi detayları |
| INVITE_TRACKING_SYSTEM.md | Davet takip sistemi |
| LEVEL_SYSTEM.md | Seviye sistemi detayları |
Projeye katkıda bulunmak isterseniz:
- Fork yapın
- Feature branch oluşturun
git checkout -b feature/yeni-ozellik
- Değişikliklerinizi commit edin
git commit -m 'Yeni özellik eklendi' - Branch'inizi push edin
git push origin feature/yeni-ozellik
- Pull Request açın
# Development mode
NODE_ENV=development npm start
# Testleri çalıştır
npm test
# Test watch mode
npm run test:watch
# Template doğrulama
npm run validate:templatesBu proje aşağıdaki harika açık kaynak projeler sayesinde mümkün oldu:
- Discord.js - Discord API wrapper
- PM2 - Process manager
- MongoDB - NoSQL veritabanı
- Mongoose - MongoDB ODM
- Node.js - JavaScript runtime
Made with ❤️ by Laving Development Team