3.0.0 • Published 4 years ago

mmta.js v3.0.0

Weekly downloads
-
License
MIT (MMTA)
Repository
-
Last release
4 years ago

NPM NPM

NPM

İndirme

  • npm install mmta.js

İndirdikten sonra kullanmaya hemen başlayabilirsiniz! Size yardımcı olsun diye birkaç örnek ve anlatım aşağıda bulunmaktadır.

Örnekler ve Kullanım

Modül indirildikten sonra hemen kullanılabilir. Fakat diğer modüllerden ayrı olarak birkaç kod yazmanız gerekecektir. Biz bu kodları size hazır olarak veriyoruz.

Başlangıç

Main.JS dosyanız (bot.js, server.js, index.js gibi isimler de olabilir; yani ana dosyanız):

const mmta = require("mmta.js");
const client = new mmta.mClient({
        token: "Discord-Developers sayfasında bulunan botun tokeni", //Örneğin; NTc0NTI2NDYSAHTE11111jQ5OTg0.XM6u_Q.23JzcaFSAHTEA2vcs2lT6s
        prefix: "Komutlardan önce yazılacak ön ek (prefix)", //Örneğin; m!
        sahip: ["Komutlardaki yetki kısmında BOT_OWNER yetkisine sahip olacak kişinin ID'si"], // ["birinci id","ikinci id"] şeklinde eklenebilir.
        komutDosya: "Komutların bulunacağı klasör", //Örneğin; komutlar
        everyoneKapat: true ya da false, //Botun everyone ve here etiketi atabilmesini istiyosanız bu kısmı eklemeyiniz ya da false yapınız.
  varsayılanKomutlar: ["hepsi"], //Kapatılacak olan varsayılan komutların ismi; eğer hepsi kapatılacak ise "hepsi" yazın; eğer hiçbir hazır komutu kapatmak istemiyorsanız bu kısmı eklemeyebilirsiniz.
    veritabanı: {   dosya: "data.json"  } //VeriTabanı (DataBase) dosyasının uzantısını yazmalısınız. UYARI: sadece .json türündeki dosyalar desteklenmektedir.
    });

    client.kategoriYükle([
        ["kategori 1", "birinci kategori açıklaması"],
        ["kategori 2", "ikinci kategori açıklaması"]
    ]);

    client.eventYükle("klasör adı"); //Burada "klasör adı" yazan yere event dosyalarının olacağı klasörün adını yazınız.
        /*
        +Burada eventleri yüklemeyi aktif ettik bu olmadan event kullanabilir miydik?
        - Evet, kullanabilirdik. Mesela server.js bot.js dosyasına da yazabiliriz.
        Şimdi burada hata almamak için botunuzun klasöründe "client.eventYükle("klasör adı")" "klasör adı" kısmına yazdığınz isimde bir klasör açın.
        Diyelimki bir event dosyası açacağız "message.js" (bu dosyaların adları event adları ile uyumlu olmalı).
        "message.js" içine gelebilecek örnek bir kodu aşağıdaki ikinci başlıkta görebilirsiniz.
        */

    client.giris(); //giris fonksiyonunun içine herhangi bir değer yazılmamalıdır!

Client/Bot Ayarları ve Açıklamaları: Değer | Açıklama --- | --- token | DiscordApp>Developers>Aplications sayfasındaki botunuzun TOKEN bilgisi. prefix | Botun varsayılan ön-ek'i. sahip | Sahiplerin array biçimindeki ID listesi. komutDosya | Komutların olacağı klasör. everyoneKapat | true olursa bot everyone ve here atamaz; aksi halde false olursa ya da hiç eklenmemişse atabilir. varsayılanKomutlar | Kapatılacak olan hazır komutların array biçimindeki listesi. veritabanı > dosya | VeriTabanı olarak kullanılacak dosya. (Sadece JSON uzantılılar)

Ayrı dosyalarda Event örnekleri:

/*
Örneğin aşağıdaki kod "message.js" içindir. 
Kodda gördüğünüz "module.exports = (message)" kısmında "message" yazan yere o eventi tanımladığımız şey gelmektedir. 
Yani "module.exports = (message)" kısmında "message" yazan yere "msg" de gelebilir. Burdan ne demek istediğimi anladınız. 
Eğer event "ready" eventi ise (yani dosyanız "ready.js" ise) "module.exports = ()" kısmında "()" içine yazdığınız şey botu (client'i) belirtir. 
Örneğin bu "guildCreate" eventinde "guild" olarak değişiklik gösterir. 
Eventleri iyice öğrenirseniz ayrı dosya halinde yapmakta zorluk çekmezsiniz. 
Ayrı dosya halinde yapılabilmesinin sağlanma sebebide 1000 satırlık bir kodu bot ana dosyasında yazarsanız çok yer kaplar ve karışık olur. 
Ayrı bir dosya içinde daha rahat yazabilirsiniz.
*/
    module.exports = (message) => {
        //Burada "client.on("message" => vs.)" şeklinde event açıp kullandığınız kodları kullanırsanız sorunsuz işler.
        if (message.content.toLowerCase() === 'mmta') {
            message.channel.send('en gelişmiş!')
        } //mesaj büyük harfler ile yazılsa bile küçülterek 'mmta' kelimesine eşit değilmi, eşit mi bakıyor ve ona göre tepki veriyor.
        if (message.content.toLowerCase() === 'en gelişmiş!') {
            message.channel.send('mmta')
        } //mesaj büyük harfler ile yazılsa bile küçülterek 'en gelişmiş!' kelimesine eşit değilmi, eşit mi bakıyor ve ona göre tepki veriyor.
    };
                

VeriTabanı Sistemi

Kurulum: Zaten ilk bölümde nasıl kurulacağını söylemiştik. (veritabanı {dosya: "dosya.json"} biçiminde yapmıştık.)

Örnek Kullanım ve Fonksiyon Açıklamaları:

//Örnek bir Log Kanalı ayarlama/değiştirme/silme kodları

    client.veritabanı.ayarla('sunucu.logkanalı', 'örnek kanal IDsi')
   //"sunucu" verisindeki "logkanalı" alanına "örnek kanal IDsi" değerini kaydeder.
                    
   client.veritabanı.veri('sunucu.logkanalı')
   //"sunucu" verisindeki "logkanalı" alanındaki değeri gösterir.
                    
   client.veritabanı.varMı('sunucu.logkanalı')
   //"sunucu" verisinde "logkanalı" alanı var mı, yok mu "true - false" biçiminde gösterir.
                    
   client.veritabanı.sil('sunucu.logkanalı')
   //"sunucu" verisindeki "logkanalı" alanını siler.
FonksiyonAçıklama
ayarlaVerilen veriye verilen değeri kaydeder.
silVerilen veriyi ve içindeki tüm değerleri siler.
veriVerilen verideki değerleri gösterir.
varMıVerilen veri bulunuyor mu, bulunmuyor mu "true - false" biçiminde gösterir.
arttırVerilen veri bir "Sayı" ise verilen değer ile bulunan veriyi toplayarak arttırır.
azaltVerilen veri bir "Sayı" ise verilen değeri bulunan veriden çıkararak azaltır.
ekleVerilen veri bir "Array" ise verilen değeri ekler.
çıkarVerilen veri bir "Array" ise verilen değeri çıkarır.
tümVerilerVeritabanındaki tüm verileri gösterir.
tümVerileriSilVeritabanındaki tüm verileri siler.

Müzik Sistemi

Kurulum: mmta.js modülündeki müzik sistemini herhangi bir şekilde kurmanız gerekmemektedir. Modülü indirdiğinizde otomatik olarak aktif olacaktır. Sadece fonksiyonları komutlarda çalıştırmanız yeterlidir.

client.müzik.oynat('')
//'' arasına yazılan şarkıyı oynatır. '' arasına şarkı adı yada Youtube URL'si yazılabilir.
 
client.müzik.durdur()
//Oynatılan şarkıyı durdurur.
 
client.müzik.geç()
//Sıradaki şarkıya geçer. Kuyrukta sadece bir şarkı varsa şarkıyı durdurur.
 
client.müzik.kuyruk()
//Şarkı kuyruğunu/listesini gösterir.
 
client.müzik.duraklat()
//Oynatılan şarkıyı duraklatır. (Duraklatılmış bir şarkı tekrar devam ettirilebilir.)
 
client.müzik.devamet()
//Duraklatılmış bir şarkıyı devam ettirir. (Dikkatle "durdurulmuş" bir şarkıyı değil durdurmak kapatır. "duraklatılmış" bir şarkıyı.)
 
client.müzik.tekrar()
//Oynatılan bir şarkıyı bittikten sonra tekrar oynatır.
 
client.müzik.ses(5)
//Oynatılan şarkının sesini "5" olarak ayarlar. Buradaki 5'i kendinize göre değiştirerek ses seviyesi ayarlayabilirsiniz.

Fonksiyonlar ve Açıklamaları: Fonksiyon | Açıklama --- | --- oynat | Fonksiyona girilen değerdeki şarkıyı YT üzerinde aratır ve çalmaya başlar. Fonksiyona YT URL'si de yazılabilir. durdur | Oynatılan şarkıyı durdurur. Bu şarkı devam ettirilemez. geç | Sıradaki şarkıya geçer. Kuyruk boş ise şarkıyı durdurur. kuyruk | Şarkı kuyruğunu gösterir. duraklat | Oynatılan şarkıyı duraklatır. Bu şarkı devam ettirilebilir. devamet | Duraklatılmış bir şarkıyı devam ettirir. (Durdurulmuş şarkılar devam ettirilemez demiştik.) tekrar | Oynatılan şarkı bittiğinde tekrar oynatılır. ses | Şarkının sesini ayarlamanıza yardımcı olur. Fonksiyonun içine sadece sayı yazılabilir!

Komut Taslakları ve Args Kullanımları

Komutları nasıl ayıracağımızı öğrenmiştik. Şimdi de ayırdığımız dosyaların nasıl bir taslağa sahip olmaları gerektiğini öğreneceğiz.

  • Argüman (args) yoksa:
    module.exports = {
        komut: "", //komut adı 
        açıklama: "", //komut açıklaması
        kategori: "", //ilk örnekteki kategori oluşturma kısmına göre buraya tam olarak ne yazabileceğinizi anlayacaksınız. (komut kategorisi)
        alternatifler: [], //komutun asıl adı dışında kullanılabileceği alternatifler. Örneğin; (komut adını x olarak düşünürsek) alternatifler: ["y", "z"], olabilir mesela.
        kullanım: "", //komutun doğru kullanımı
        yetki: 'MANAGE_MESSAGES', /*Komutu kullanabilecek yetkiyi belirtiyorsunuz.
        Tüm yetkileri https://discordapp.com/developers/docs/topics/permissions adresinden öğrenebilir/görebilirsiniz.
        Eğer gereken yetki bot sahibi olacaksa "BOT_OWNER" yazınız.
        Eğer hiç bir yetki gerekmiyor ise yetki: "" alanını siliniz.
        */
    };
                     
    module.exports.baslat = (client, message) => {
        //Komutun yapacağı işlevlerin geleceği alan.
        message.channel.send("Test.")
    };
  • Argüman (args) varsa:
    module.exports = {
        komut: "", //komut adı 
        açıklama: "", //komut açıklaması
        kategori: "", //yukarıdaki kategori oluşturma kısmına göre buraya tam olarak ne yazabileceğinizi anlayacaksınız. (komut kategorisi)
        alternatifler: [], //komutun asıl adı dışında kullanılabileceği alternatifler. Örneğin; (komut adını x olarak düşünürsek) alternatifler: ["y", "z"], olabilir mesela.
        kullanım: "", //komutun doğru kullanımı
        yetki: 'MANAGE_MESSAGES', /*Komutu kullanabilecek yetkiyi belirtiyorsunuz.
        Tüm yetkileri https://discordapp.com/developers/docs/topics/permissions adresinden öğrenebilir/görebilirsiniz.
        Eğer gereken yetki bot sahibi olacaksa "BOT_OWNER" yazınız.
        Eğer hiç bir yetki gerekmiyor ise yetki: "" alanını siliniz.
        */
                            
        args: [
          {
            anahtar: 'x', //module.exports.baslat kısmında bu argsın cevabı "args.x" olarak çekilecektir. Siz bu "x"'i kendinize göre değiştirip ayarlarsınız. Ne olduğunu anladınız zaten.
            soru: '', //Argüman sorusu. Örneğin; "Bir yazı yazınız."
            tip: 'yazi' /*Argüman tipi.
            Buraya gelebilecek tipler:
            yazi = Normal herhangi bir yazı.
            sayi = Normal herhangi bir sayı.
            kullanici = Bulunulan sunucudaki kullanıcıları algılar. Kullanıcı adı yazarak veya kullanıcıyı etiketleyerek çalışır.
            kanal = Bulunulan sunucudaki kanalları algılar. Kanal adı yazarak veya kanalı etiketleyerek çalışır.
            rol = Bulunulan sunucudaki rolleri algılar. Rol adı yazarak veya rolü etiketleyerek çalışır.
            */
          }
        ]
    };
                         
    module.exports.baslat = (client, message, args) => {
        //Komutun yapacağı işlevlerin geleceği alan.
        message.channel.send(args.x) //anahtar kısmı "x" olan Argümanın cevabını alıp bulunulan kanala gönderiyoruz.
    };

EVET, şuanda hazırsınız! Hemen bir bot yapın ve yayınlayın!

3.0.0

4 years ago

2.0.0

5 years ago

1.1.7

5 years ago

1.1.6

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago