ORGA tarafında uzun süredir geliştirdiğim projelerden biri de ORGA Sentinel.
Sentinel'i klasik anlamda birkaç moderasyon komutu olan bir Discord botu yapmak istemedim. Baştan itibaren hedefim moderasyon, ekonomi, seviye, otomasyon, müzik, topluluk sistemleri ve yapay zekâ gibi farklı ihtiyaçları tek bir yapı altında toplayabilmekti.
Bugün geldiğimiz noktada Sentinel artık arka tarafta birden fazla servisin birlikte çalıştığı oldukça büyük bir sisteme dönüştü. 🤖
🛡️ Moderasyon SistemiSentinel'in temel parçalarından biri doğal olarak moderasyon.
Sunucu yönetiminde ihtiyaç duyulan işlemleri mümkün olduğunca tek sistem altında toplamaya çalışıyorum.
Moderasyon tarafında cezalandırma ve yönetim işlemlerinin yanında, verilen cezaların kayıt altında tutulabilmesi ve gerektiğinde daha sonra incelenebilmesi için ayrı bir yapı bulunuyor.
Ayrıca ceza itiraz sistemi de mevcut.
Yani sistem yalnızca:
kullanıcıyı cezalandır ve unut
mantığında ilerlemiyor.
Verilen işlemlerin daha düzenli takip edilebildiği bir yapı kurmaya çalışıyorum.
📈 Seviye ve XP SistemiSunucudaki aktif kullanıcıların ilerleyebileceği ayrı bir seviye sistemi bulunuyor.
Mesajlaşma ve topluluk içerisindeki etkileşimler üzerinden kullanıcılar XP kazanabiliyor ve seviyelerini yükseltebiliyor.
Bunun yanında:
Seviye
XP
Rank
Liderlik sıralaması
gibi sistemler de mevcut.
Amacım yalnızca mesaj sayısını yükselten bir sayaç yapmak değil, zamanla topluluğa gerçekten katkı sağlayan kullanıcıları da daha iyi ayırt edebilen bir sisteme dönüştürmek.
💰 Ekonomi SistemiSentinel'in ekonomi tarafı aslında tek başına oldukça büyük bir bölüm.
Kullanıcıların para kazanabildiği ve bunu farklı sistemlerde kullanabildiği bir ekonomi bulunuyor.
Örneğin:
Günlük ödüller
Çalışma
Görevlar
Mağaza
Envanter
Eşyalar
Ekipman
Koleksiyonlar
gibi sistemler ekonomi altyapısıyla birlikte çalışıyor.
Buradaki hedefim sadece:
/daily yaz, para gelsin
gibi basit bir ekonomi botu yapmak değildi.
Kullanıcının zamanla bir şeyler biriktirebildiği ve ilerleyebildiği daha geniş bir sistem oluşturmaya çalışıyorum.
🎒 Eşya ve Envanter SistemiEkonomi sisteminin yanında ayrı bir eşya altyapısı bulunuyor.
Kullanıcılar sahip oldukları eşyaları envanterlerinde görebiliyor ve desteklenen eşyaları kullanabiliyor veya kuşanabiliyor.
Bunun yanında:
Loadout
Eşya efektleri
Koleksiyonlar
Upgrade
Craft
gibi sistemler de bulunuyor.
Yani bazı eşyalar yalnızca profilde duran bir görsel veya isim değil, sistem içerisinde gerçek bir işleve sahip olabiliyor.
📦 Sandık ve Pity SistemiSentinel'de sandık sistemi de bulunuyor.
Burada tamamen rastgele bir ödül yapısı bırakmak yerine pity sistemi gibi mekanikler de kullandım.
Basitçe anlatmak gerekirse sürekli şanssız olan bir kullanıcının sonsuza kadar kötü ödül almaya devam etmesini önleyen bir sistem.
Sandık açtıkça belirli koşullarda daha iyi ödül alma ihtimali veya garantisi devreye girebiliyor.
Bu tarafı ileride yeni eşya ve koleksiyonlarla daha da genişletmek istiyorum.
🔨 Craft ve UpgradeTopladığınız bazı eşyaların yalnızca envanterde kalmaması için craft ve geliştirme sistemleri de bulunuyor.
Belirli materyalleri kullanarak yeni şeyler üretebilmek veya uygun eşyaları geliştirebilmek mümkün.
Ekonomi sistemini zaman içerisinde küçük bir topluluk RPG'sine benzeyen yapıya dönüştürmek istediğim için bu sistemleri birbirinden bağımsız değil, mümkün olduğunca bağlantılı geliştiriyorum.
🤝 Kullanıcılar Arası TicaretEkonominin yalnızca bot ile kullanıcı arasında dönmesini istemediğim için kullanıcılar arasında da sistemler bulunuyor.
Bunların arasında:
Trade
Auction
gibi özellikler var.
Böylece kullanıcıların sahip oldukları içerikler topluluk içinde de değer kazanabiliyor.
🎰 Topluluk OyunlarıSentinel biraz eğlence tarafına da sahip. 😄
Şu anda sistem içerisinde farklı mini oyunlar bulunuyor.
Örneğin:
Blackjack
Taş, kağıt, makas
Yazı tura
Trivia
Roulette
Russian Roulette
gibi oyunlar mevcut.
Bazıları ekonomi sistemiyle de birlikte çalışabiliyor.
Burada hedef sunucuda kullanıcıların yalnızca komut kullanması değil, birbirleriyle etkileşim kurabileceği sistemler oluşturmak.
🎵 Müzik SistemiSentinel'in kendi müzik altyapısı da bulunuyor.
Queue sistemi üzerinden müziklerin sıraya alınması ve oynatılması gibi işlemler yapılabiliyor.
Müzik tarafında ayrı servisler kullanıldığı için bu sistem botun geri kalanından bağımsız şekilde çalışabilecek biçimde geliştiriliyor.
⚙️ Sunucu OtomasyonlarıBence Sentinel'in en faydalı taraflarından biri de otomasyon sistemi.
Sunucuda sürekli elle yapmak zorunda kaldığınız birçok işlemi otomatikleştirebiliyorsunuz.
Örneğin:
Otomatik roller
Reaction role
Karşılama sistemleri
Otomatik cevaplar
Tekrarlanan mesajlar
Sabit mesajlar
Zamanlanmış mesajlar
Kanal otomasyonları
gibi sistemler mevcut.
Amacım özellikle büyük sunucularda yöneticilerin sürekli aynı işleri tekrar tekrar yapmak zorunda kalmaması.
🧠 Yerel Yapay Zekâ SistemiSentinel'in üzerinde en fazla çalıştığım bölümlerden biri yapay zekâ tarafı.
Burada mümkün olduğunca tek bir dış API'ye bütün sistemi bağlamak yerine yerel olarak çalışabilen bir AI altyapısı kuruyorum.
Sistemde farklı işler için farklı modeller ve yöntemler kullanılabiliyor.
Örneğin:
Mesajların sınıflandırılması
Bilgi bankasında arama
Anlamsal benzerlik
Topluluk davranışlarının değerlendirilmesi
Araştırma
İçerik üretimi
gibi işlemler farklı katmanlar üzerinden gerçekleştirilebiliyor.
Bu tarafta Qwen, MiniLM, multilingual embedding modelleri, FAISS ve bazı makine öğrenmesi sistemlerinden yararlanıyorum.
Buradaki hedefim "Discord botuna ChatGPT bağladık" demek değil.
Yapay zekâyı Sentinel'in diğer sistemleriyle gerçekten birlikte çalışabilecek bir parçaya dönüştürmek.
🧠 Topluluğu Anlamaya Çalışan Bir SistemAI tarafında uzun vadeli hedeflerimden biri de Sentinel'in yalnızca komut bekleyen bir bot olmaması.
Topluluktaki etkileşimleri analiz ederek:
Hangi konuların ilgi gördüğünü
Hangi kullanıcıların topluluğa katkı sağladığını
Hangi davranışların problem oluşturabileceğini
Ne tür etkinliklerin ilgi çekebileceğini
anlamaya yardımcı olabilecek bir sistem geliştirmeye çalışıyorum.
Tabii burada otomatik sistemlerin tek başına insan moderatörün yerine geçmesini istemiyorum.
Özellikle önemli yönetim kararlarında son söz yine yöneticilerde olmalı.
💡 AI ile Etkinlik ve İçerik ÖnerileriSentinel'in yapay zekâ tarafını sadece soru-cevap için kullanmak istemiyorum.
Topluluk için:
Etkinlik fikirleri
Görevlar
Sorular
İçerik fikirleri
Kural veya sistem önerileri
oluşturabilecek yapılar üzerinde de çalışıyorum.
Bazı sistemlerin özellikle yönetici onayı olmadan doğrudan uygulanmaması benim için önemli.
AI öneri sunsun, son kararı insan versin.
🖥️ Yönetim PaneliSentinel'i yalnızca Discord komutlarıyla yönetmek uzun vadede pek kullanışlı olmazdı.
Bu yüzden ayrı bir web yönetim paneli de bulunuyor.
Buradaki amacım özellikle çok fazla ayarı olan sistemleri Discord içerisinde onlarca komut kullanmak yerine daha anlaşılır bir arayüzden yönetebilmek.
Bot, panel ve arka plan servisleri birbirinden ayrı katmanlar halinde geliştiriliyor.
🏗️ Arka Tarafta Ne Var?Teknik tarafı merak edenler için Sentinel aslında tek bir Node.js dosyasından oluşmuyor. 😄
Projenin arkasında farklı görevleri üstlenen:
Discord bot servisi
Web yönetim paneli
Worker sistemi
Renderer
AI Gateway
PostgreSQL
Prisma
Redis
BullMQ
MinIO
gibi farklı parçalar bulunuyor.
Bunları birbirinden ayırmamın nedeni sistem büyüdükçe her şeyi tek bir uygulamanın içine sıkıştırmamak.
Örneğin ağır bir arka plan işleminin Discord botunun cevap vermesini yavaşlatmasını istemiyorum.
Bu yüzden işleri mümkün olduğunca ayrı servisler üzerinden yürütmeye çalışıyorum.
🚀 Daha Yolun BaşındayızSentinel şu anda bile oldukça büyük bir proje ancak yapmak istediğim şeylerin tamamı bitmiş değil.
Bazı sistemleri genişletmeye, bazılarını yeniden tasarlamaya ve performans tarafını iyileştirmeye devam ediyorum.
Özellikle:
Yapay zekâ
Ekonomi
Eşya sistemi
Topluluk otomasyonları
Yönetim paneli
önümüzdeki süreçte daha da büyüyecek.
Forumda ilerleyen zamanlarda Sentinel'in sistemlerini de tek tek anlatacağım.
Ekonomi nasıl çalışıyor?
Pity sistemi nedir?
Yerel AI nasıl çalışıyor?
Sentinel neden farklı AI modelleri kullanıyor?
Worker sistemi ne işe yarıyor?
Bunların hepsini ayrı konular halinde teknik tarafına da girerek paylaşmak istiyorum.
ORGA Sentinel ile ilgili öneriniz, karşılaştığınız bir problem veya görmek istediğiniz bir özellik varsa forum üzerinden yazabilirsiniz.
Sentinel'i toplulukla birlikte geliştirmeye devam edeceğim. ❤️
Gringos