Skip to content

thearkxd/discord-advanced-stat-bot

Repository files navigation

Discord Advanced Stat Bot

Discord sunucularınızda kullanabileceğiniz gelişmiş ve sade bir istatistik botu.

GitHub license Actions Status GitHub issues

🌏 English

İçerik

Botun içinde bulunan özellikler bunlardır. Eğer yanında tik işareti varsa eklenmiş, yoksa eklenecek anlamına gelmektedir.

  • İstatistik sistemi

    • Sunucudaki bütün üyelerin ses ve mesaj verilerini gösterir.
      • stat, rol, top
  • Yetkili istatistik sistemi

    • Sunucudaki yetkililerin ses ve mesaj verilerini gösterir, ayrıca onlara puan ekleyerek yetki atlamalarını sağlar.
      • ystat
  • Görev sistemi

    • Sunucudaki yetkililere görev verip daha çok puan kazanmalarını sağlar.
      • görev
  • Rozet sistemi

    • Üyelere belirli ses ve mesaj hedefleri belirleyip o hedefe ulaştıklarında belirlenen rolleri verir.

Kurulum

  • İlk olarak bilgisayarına Node JS indir.

  • Daha sonra bir MongoDB hesabı oluştur ve connection linki al.

    • Eğer bunu yapmayı bilmiyorsan buraya tıklayarak medium.com üzerinde yazdığım yazıyı inceleyebilirsin.
  • Bu projeyi zip halinde indir ve projeyi zipten çıkart.

  • Daha sonra src klasörünün içindeki configs klasörünün içine gir ve öncelikle settings.json dosyasının içindeki bilgileri doldur.

    • token: Botunuzun tokeni.

    • prefix: Botunuzun prefixi.

    • mongoUrl: Mongo connection linkiniz.

    • owners: Bot sahiplerinin Discord ID'leri.

  • Şimdi aynı klasördeki config.json dosyasının içindeki bilgileri doldur.

    • ​publicParents:​ Sunucunun public ses kategorisi.

    • ​registerParents:​ Sunucunun kayıt ses kategorisi.

    • ​solvingParents:​ Sunucunun sorun çözme ses kategorisi.

    • ​privateParents:​ Sunucunun private ses kategorisi.

    • ​aloneParents:​ Sunucunun alone ses kategorisi.

    • ignoreChannels: Coin verilmesini istemediğiniz kanallar.

    • coinSystem: true değeri coin sistemini açar, false değeri ise kapatır.

    • ​rankLog:​ Rank log kanalı.

    • ​tag:​ Sunucu tag sembolünüz.

    • ​staffs:​ Coin eklenip yetkisi arttırılacak yetkili rolü.

    • ​messageCount:​ Kaç mesajda coin verileceği.

    • ​messageCoin:​ messageCount adet mesaj atılınca kaç coin verileceği.

    • ​voiceCount:​ Seste kaç dakika durunca coin verileceği.

    • ​voiceCoin:​ voiceCount dakika seste durunca kaç coin verileceği.

    • ​publicCoin:​ Public kanallarda voiceCount dakika seste durunca kaç coin verileceği.

    • ​taggedCoin:​ Birisine "tagaldır" komutu ile tag aldırınca kaç coin verileceği

    • ​emojis:​ Komutlarda kullanılan emojiler. (emojileri aşağıdaki sunucumda bulabilirsiniz)

    • Önemli bilgi!: Eğer config dosyalarında [] şeklinde bir değer varsa, demektir ki oraya birden fazla değer girebiliyorsun. Örneğin; ["theark", "stat", "bot"].

  • ranks.json dosyasını doldurmanıza gerek yok, o dosyayı komutlar kullanacak.

  • Sonra klasörün içerisinde bir powershell ya da cmd penceresi aç ve npm install yazarak tüm modülleri kur.

  • Kurulum bittikten sonra npm start yaz ve botu başlat.

SSS (Sıkça Sorulan Sorular)

Bu görev şeması ne??? Ben vereceğim her görev için şema mı oluşturacağım!

Görev şeması, görev al komutu için hazırlanmış bir sistemdir. görev al komutunda, bot rastgele bir görev verdiğinden dolayı, karmaşıklık oluşmaması için şema sistemi ekledim. Bot, rastgele görev vereceği zaman, sizin belirlediğiniz şemalardan birini rastgele seçiyor ve kişiye o görevi veriyor. Ayrıca şema ekleyerek direk görev şema ver @kullanıcı şema-id ile de hızlıca görev verebilirsiniz. 😋

Ya ben herkese tek tek görev mi vereceğim, yok mu bunun bir kısayolu?! 🤬

Tabii ki var :). Görev verirken kişi yerine rol etiketlerseniz, bot otomatik olarak o roldeki yetkili olan herkese görevlerini dağıtacaktır. 😉

Şimdi de başımıza ranks.json çıktı yav bu ne?

ranks.json dosyası içindeki "ranks" kısmı, sizin yetkilerinizin bulunduğu kısımdır. Yani kısacası komutla rank ekleyebilmeniz için ranks kısmı bir json dosyasına taşındı. "tasks" ise görev şemalarının bulunduğu yerdir. Komutla rank ya da görev şeması eklemek istemiyorsanız, formata uygun şekilde o kısımlara yazabilirsiniz.

Eeee? Ben bu botu yetki yükseltme botu olarak indirmiştim, coin kısmı görünmüyor???

Coin kısmının görünmemesinin 3 nedeni vardır;

  • Kişide, config.json dosyasında staffs içine ID'sini girdiğiniz roller yoktur.
  • Botunuza yetki eklememişsinizdir.
  • Coin sistemi kapalıdır.

Bunları kontrol ettikten sonra hâlâ görünmüyorsa sunucumdaki yardım kanalına yazabilirsiniz.

Nedir bu senkronize komutu?

Senkronize komutu ise şu işe yarar; Diyelim siz ranks kısmına x, y ve z rollerini girdiniz ve botu sunucuya eklediniz. Fakat bende botu eklediğiniz zaman z rolü vardı. Eğer siz benim üstümde senkronize komutunu kullanmazsanız, ben yetki atladığım zaman bot benim z rolümü alıp bana x rolü verecektir. Fakat eğer senkronize komutunu kullanırsanız, bot benim coin sayımı, z rolüne atadığınız coin ile eşitleyecektir.

Ben bu botta görev sistemi var diye indirmiştim, davet ve kayıt görevleri çalışmıyor?? 🤬🤬

Davet görevlerinin çalışabilmesi için, buradan benim kayıt botumu indirip kurmanız, bu botun bulunduğu sunucuya eklemeniz gerekmektedir. Kayıt görevlerinin çalışabilmesi için ise sunucuya gelen kişilerin kaydını o bot üzerinden yapmanız gerekmektedir. 😊

Botu sunucuma ekledim, kurdum fakat slash komutları görünmüyor?

Slash komutların görünmesi için botu sunucunuza eklerken application commands izni vermeniz gerekiyor.

  • Öncelikle Developer Portal'dan bot sayfamıza giriyoruz.
  • Daha sonra soldaki menüden OAuth2 sekmesinin altından URL Generator'a tıklıyoruz.
  • Sağ taraftan applications.commands tikine tıklıyoruz ve aşağıdaki linki kopyalıyoruz.
  • Linke girip botumuza izni verdikten sonra slash komutlarınız görünecektir.

Başka bir hata almanız ya da botta bir sorun bulmanız dahilinde aşağıda linkini verdiğim Discord sunucuma gelip bana yazabilirsiniz. 😊

Görseller:

İletişim