Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Isse Kun
Emektar Üye
Katılım
15 May 2017
Mesajlar
4,801
Çözümler
5
Tepki puanı
2,106
Ödüller
15
Sosyal
9 HİZMET YILI
Merhaba arkadaşlar bugün sizlere bir arkadaşın isteği üzerine Otorol Komutunu paylaşıyorum.

Gerekli Modüller
- npm i fs

otorol.json oluşturun ve içine {} yazın yoksa komutlar hata verecektir.

otorol.js komutu oluşturun ve aşağıda ki kodları yazın.
JavaScript:
const fs = require ('fs')
const Discord = require('discord.js')
var sunucuyaözelayarlarOtorol = JSON.parse(fs.readFileSync("./otorol.json", "utf8"));


exports.run = async (bot, message, args) =>
{
      let profil = JSON.parse(fs.readFileSync("./otorol.json", "utf8"));
  var mentionedChannel = message.mentions.channels.first();
  if (!mentionedChannel && args[0] !== "sıfırla") return message.channel.send("Ayarlamam İçin Bir Rol Etiketlemelisin. \nRolü Etiketleyemiyorsan **Rolün Etiketleme Seçeneğini Aktif Etmeyi Unutma** \nÖrnek Kullanım : ::otorol @rol #kanal \n**Oto Yazı Kapatmak İstiyorsan ::kapat otoyazı**");
  if (message.guild.member(message.author.id).hasPermission(0x8))
   
    {
      var mentionedRole = message.mentions.roles.first();
      if (!mentionedRole) return message.channel.send("**Doğru Kullanım = ::otorol @<roladı> #<metinkanalı>**".then(msg => msg.delete(5000)));
     

    if(!profil[message.guild.id]){
   
        profil[message.guild.id] = {
     
            sayi: mentionedRole.id,
      kanal: mentionedChannel.id
        };
    }
   
    profil[message.guild.id].sayi = mentionedRole.id
  profil[message.guild.id].kanal = mentionedChannel.id
   
    fs.writeFile("./otorol.json", JSON.stringify(profil), (err) => {
        console.log(err)

    })

    const embed = new Discord.RichEmbed()
        .setDescription(`:white_check_mark: Otorol başarıyla ${args[0]} olarak ayarlandı! \nOtorol Mesaj kanalı başarıyla ${mentionedChannel} olarak ayarlandı.\n\nOto Mesaj'ı kapatabilmek için **+otomesajkapat** yazabilirsiniz!`)
        .setColor("RANDOM")
        .setTimestamp()
    message.channel.send({embed})
}

}



exports.conf =
{
  enabled: true,
  guildOnly: true,
  aliases: ["setautorole", "otorol", "otoroldeğiştir"]
}

exports.help =
{
  name: 'Otorol',
  description: 'Sunucuya Girenlere Verilecek Olan Otorolü Ayarlar.',
  usage: 'otorolayarla'
}

otorolyazıkapat.js oluşturun ve aşağıda ki kodları yazın.​
JavaScript:
 const Discord = require('discord.js')
const fs = require('fs')

exports.run = async (client, message, args) => {
      let sunucuyaözelayarlarOtorol = JSON.parse(fs.readFileSync("./otorol.json", "utf8"));
        if(!sunucuyaözelayarlarOtorol[message.guild.id]) {
            const embed = new Discord.RichEmbed()
                .setDescription(`Otorolü Ayarlamadığın İçin Kapatamazsın!`)
                .setColor("RED")
                .setTimestamp('Ayarlamak İçin ::otorol @roladi')
            message.channel.send({embed})
            return
        }
  exports.run = async (client, message, args, member) => {
          let giriscikis = JSON.parse(fs.readFileSync("./otorol.json", "utf8"));
        delete giriscikis[message.guild.id]
        fs.writeFile("./otorol.json", JSON.stringify(giriscikis), (err) => {

        })
        const embed = new Discord.RichEmbed()
            .setDescription(`Otorol Mesajları Başarıyla Kapatıldı`)
            .setColor("RANDOM")
            .setTimestamp()
        message.channel.send({embed})
        return
    }}




exports.conf = {
  enabled: true,
  guildOnly: false,
  aliases: ["kapatotoyazı"],
  permLevel: 0
};

exports.help = {
  name: 'otorolmesajkapat',
  description: 'Slots oyunu oynar',
  usage: 'otorolmesajkapat'
};

otorolmesajkapat.js oluşturun ve aşağıda ki kodları yazın.​
JavaScript:
 const Discord = require('discord.js')
const fs = require('fs')

exports.run = async (client, message, args) => {
      let sunucuyaözelayarlarOtorol = JSON.parse(fs.readFileSync("./otorol.json", "utf8"));
        if(!sunucuyaözelayarlarOtorol[message.guild.id]) {
            const embed = new Discord.RichEmbed()
                .setDescription(`Otorolü Ayarlamadığın İçin Kapatamazsın!`)
                .setColor("RED")
                .setTimestamp('Ayarlamak İçin ::otorol @roladi')
            message.channel.send({embed})
            return
        }
  exports.run = async (client, message, args, member) => {
          let giriscikis = JSON.parse(fs.readFileSync("./otorol.json", "utf8"));
        delete giriscikis[message.guild.id]
        fs.writeFile("./otorol.json", JSON.stringify(giriscikis), (err) => {

        })
        const embed = new Discord.RichEmbed()
            .setDescription(`Otorol Mesajları Başarıyla Kapatıldı`)
            .setColor("RANDOM")
            .setTimestamp()
        message.channel.send({embed})
        return
    }}




exports.conf = {
  enabled: true,
  guildOnly: false,
  aliases: ["otorolmesaj"],
  permLevel: 0
};

exports.help = {
  name: 'Otorol Mesaj Kapat',
  description: 'Slots oyunu oynar',
  usage: 'otorolmesajkapat'
};

otorolkapat.js oluşturun ve aşağıda ki kodları yazın.​
JavaScript:
const Discord = require('discord.js')
const fs = require('fs')

exports.run = async (client, message, args) => {
      let sunucuyaözelayarlarOtorol = JSON.parse(fs.readFileSync("./otorol.json", "utf8"));
        let otorolkapat = JSON.parse(fs.readFileSync("./otorol.json", "utf8"));
        if(!sunucuyaözelayarlarOtorol[message.guild.id]) {
            const embed = new Discord.RichEmbed()
                .setDescription(`Otorolü Ayarlamadığın İçin Sıfırlayamazsın!`)
                .setColor("RED")
                .setTimestamp('Ayarlamak İçin ::otorol @roladi')
            message.channel.send({embed})
            return
        }
        delete sunucuyaözelayarlarOtorol[message.guild.id]
        fs.writeFile("./otorol.json", JSON.stringify(sunucuyaözelayarlarOtorol), (err) => {
            console.log(err)
        })
        const embed = new Discord.RichEmbed()
            .setDescription(`Otorol Başarıyla Sıfırlandı`)
            .setColor("RANDOM")
            .setTimestamp()
        message.channel.send({embed})
        return
    }


exports.conf = {
  enabled: true,
  guildOnly: false,
  aliases: ["otorolsıfırla"],
  permLevel: 0
};

exports.help = {
  name: 'Otorol Kapat',
  description: 'Slots oyunu oynar',
  usage: 'otorolkapat'
};
 
⭐ Perfo ⭐
Ultra Üye
Katılım
4 Haz 2018
Mesajlar
1,544
Tepki puanı
1,384
Ödüller
10
8 HİZMET YILI
Ben bu kodu internette bulamamıştım :D. Teşekkürler.
 
Onaylı Üye
Katılım
23 Şub 2019
Mesajlar
59
Çözümler
1
Tepki puanı
4
Yaş
27
7 HİZMET YILI
hocam discord botlarında yeniyim birşey merak ettim birden fazla .js dosyasını aynı anda nasıl çalıştırıcaz?
 
⭐ Perfo ⭐
Ultra Üye
Katılım
4 Haz 2018
Mesajlar
1,544
Tepki puanı
1,384
Ödüller
10
8 HİZMET YILI
hocam discord botlarında yeniyim birşey merak ettim birden fazla .js dosyasını aynı anda nasıl çalıştırıcaz?
Dostum bak şimdi hızlı bir özet geçeceğim "komutlar" adında bir klasör oluştur ve botun asıl çalışmasına yarayan .js dosyasına;
JavaScript:
const fs = require('fs');
const moment = require('moment');
const log = message => {
  console.log(`[${moment().format('YYYY-MM-DD HH:mm:ss')}] ${message}`);
};

client.commands = new Discord.Collection();
client.aliases = new Discord.Collection();
fs.readdir('./komutlar/', (err, files) => {
  if (err) console.error(err);
  log(`${files.length} komut yüklenecek.`);
  files.forEach(f => {
    let props = require(`./komutlar/${f}`);
    log(`Yüklenen komut: ${props.help.name}.`);
    client.commands.set(props.help.name, props);
    props.conf.aliases.forEach(alias => {
      client.aliases.set(alias, props.help.name);
    });
  });
});

client.reload = command => {
  return new Promise((resolve, reject) => {
    try {
      delete require.cache[require.resolve(`./komutlar/${command}`)];
      let cmd = require(`./komutlar/${command}`);
      client.commands.delete(command);
      client.aliases.forEach((cmd, alias) => {
        if (cmd === command) client.aliases.delete(alias);
      });
      client.commands.set(command, cmd);
      cmd.conf.aliases.forEach(alias => {
        client.aliases.set(alias, cmd.help.name);
      });
      resolve();
    } catch (e){
      reject(e);
    }
  });
};

client.load = command => {
  return new Promise((resolve, reject) => {
    try {
      let cmd = require(`./komutlar/${command}`);
      client.commands.set(command, cmd);
      cmd.conf.aliases.forEach(alias => {
        client.aliases.set(alias, cmd.help.name);
      });
      resolve();
    } catch (e){
      reject(e);
    }
  });
};

client.unload = command => {
  return new Promise((resolve, reject) => {
    try {
      delete require.cache[require.resolve(`./komutlar/${command}`)];
      let cmd = require(`./komutlar/${command}`);
      client.commands.delete(command);
      client.aliases.forEach((cmd, alias) => {
        if (cmd === command) client.aliases.delete(alias);
      });
      resolve();
    } catch (e){
      reject(e);
    }
  });
};
komutlarını yaz. Bu sayede otomatik olarak komutlar klasöründeki dosyaları çalıştırabilirsin.
 
Ey yüce yaradan bana fantastik bir hayat yaşattın.
Emektar Üye
Katılım
2 Ocak 2016
Mesajlar
4,595
Çözümler
1,842
Tepki puanı
2,297
Ödüller
18
10 HİZMET YILI
hocam discord botlarında yeniyim birşey merak ettim birden fazla .js dosyasını aynı anda nasıl çalıştırıcaz?
command handler kullanman gerek internette aratırsan yabancı kaynaklardan izleyerek yaparsın.
 
Onaylı Üye
Katılım
23 Şub 2019
Mesajlar
59
Çözümler
1
Tepki puanı
4
Yaş
27
7 HİZMET YILI
Dostum bak şimdi hızlı bir özet geçeceğim "komutlar" adında bir klasör oluştur ve botun asıl çalışmasına yarayan .js dosyasına;
JavaScript:
const fs = require('fs');
const moment = require('moment');
const log = message => {
  console.log(`[${moment().format('YYYY-MM-DD HH:mm:ss')}] ${message}`);
};

client.commands = new Discord.Collection();
client.aliases = new Discord.Collection();
fs.readdir('./komutlar/', (err, files) => {
  if (err) console.error(err);
  log(`${files.length} komut yüklenecek.`);
  files.forEach(f => {
    let props = require(`./komutlar/${f}`);
    log(`Yüklenen komut: ${props.help.name}.`);
    client.commands.set(props.help.name, props);
    props.conf.aliases.forEach(alias => {
      client.aliases.set(alias, props.help.name);
    });
  });
});

client.reload = command => {
  return new Promise((resolve, reject) => {
    try {
      delete require.cache[require.resolve(`./komutlar/${command}`)];
      let cmd = require(`./komutlar/${command}`);
      client.commands.delete(command);
      client.aliases.forEach((cmd, alias) => {
        if (cmd === command) client.aliases.delete(alias);
      });
      client.commands.set(command, cmd);
      cmd.conf.aliases.forEach(alias => {
        client.aliases.set(alias, cmd.help.name);
      });
      resolve();
    } catch (e){
      reject(e);
    }
  });
};

client.load = command => {
  return new Promise((resolve, reject) => {
    try {
      let cmd = require(`./komutlar/${command}`);
      client.commands.set(command, cmd);
      cmd.conf.aliases.forEach(alias => {
        client.aliases.set(alias, cmd.help.name);
      });
      resolve();
    } catch (e){
      reject(e);
    }
  });
};

client.unload = command => {
  return new Promise((resolve, reject) => {
    try {
      delete require.cache[require.resolve(`./komutlar/${command}`)];
      let cmd = require(`./komutlar/${command}`);
      client.commands.delete(command);
      client.aliases.forEach((cmd, alias) => {
        if (cmd === command) client.aliases.delete(alias);
      });
      resolve();
    } catch (e){
      reject(e);
    }
  });
};
komutlarını yaz. Bu sayede otomatik olarak komutlar klasöründeki dosyaları çalıştırabilirsin.
Eyvallah
Post automatically merged:

command handler kullanman gerek internette aratırsan yabancı kaynaklardan izleyerek yaparsın.
Onuda denicem hocam eyvallah.
 
Doomsday is approaching
Ultra Üye
Katılım
8 Şub 2019
Mesajlar
1,709
Çözümler
5
Tepki puanı
684
Ödüller
8
7 HİZMET YILI
Hocam bu lazım idi , sağ olasın.
 
Üye
Katılım
22 Tem 2019
Mesajlar
7
Tepki puanı
0
Yaş
29
6 HİZMET YILI
komutlar/otorol.json adı dosya oluşturup içine {} yazdım. Ancak...

fs.js:115
throw err;
^


Error: ENOENT: no such file or directory, open './otorol.json'
at Object.openSync (fs.js:436:3)
at Object.readFileSync (fs.js:341:35)
at Object.<anonymous> (C:\Users\Lenovo\Desktop\Cortex BETA\komutlar\otorol.js:3:47)
at Module._compile (internal/modules/cjs/loader.js:688:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
at Module.load (internal/modules/cjs/loader.js:598:32)
at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
at Function.Module._load (internal/modules/cjs/loader.js:529:3)
at Module.require (internal/modules/cjs/loader.js:636:17)
at require (internal/modules/cjs/helpers.js:20:18)


...böyle bir hata alıyorum. Ne yapabilirim?
 
Isse Kun
Emektar Üye
Katılım
15 May 2017
Mesajlar
4,801
Çözümler
5
Tepki puanı
2,106
Ödüller
15
Sosyal
9 HİZMET YILI
komutlar/otorol.json adı dosya oluşturup içine {} yazdım. Ancak...

fs.js:115
throw err;
^


Error: ENOENT: no such file or directory, open './otorol.json'
at Object.openSync (fs.js:436:3)
at Object.readFileSync (fs.js:341:35)
at Object.<anonymous> (C:\Users\Lenovo\Desktop\Cortex BETA\komutlar\otorol.js:3:47)
at Module._compile (internal/modules/cjs/loader.js:688:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
at Module.load (internal/modules/cjs/loader.js:598:32)
at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
at Function.Module._load (internal/modules/cjs/loader.js:529:3)
at Module.require (internal/modules/cjs/loader.js:636:17)
at require (internal/modules/cjs/helpers.js:20:18)


...böyle bir hata alıyorum. Ne yapabilirim?
json dosyasını bulamıyor doğru yaptığına emin ol
 
Üye
Katılım
22 Tem 2019
Mesajlar
7
Tepki puanı
0
Yaş
29
6 HİZMET YILI
2 ayda baya şey öğrendim ve bu botu aşırı geliştirdim 150 komut var şuanda :D
Artık bütün hataların çözümlerini de buldum ^_^
Teşekkürler Qveen :)
 
Üye
Katılım
2 Eyl 2019
Mesajlar
1
Tepki puanı
0
Yaş
26
6 HİZMET YILI
Kolay gelsin hocam, yazdığınız her şeyi eksiksiz yaptım herhangi bir hatada almıyorum ama bot rol vermiyor? Komut çalışıyor ayarlıyorum rolü ama bot yeni girene rol vermiyor, kanalada mesaj atmıyor. (Botun tam yetkisi var ve üye rolünden üstün) Yardımcı olabilecek var mı ?
 
Onaylı Üye
Katılım
11 Kas 2016
Mesajlar
74
Tepki puanı
9
Ödüller
7
Yaş
21
9 HİZMET YILI
komutlar/otorol.json adı dosya oluşturup içine {} yazdım. Ancak...

fs.js:115
throw err;
^


Error: ENOENT: no such file or directory, open './otorol.json'
at Object.openSync (fs.js:436:3)
at Object.readFileSync (fs.js:341:35)
at Object.<anonymous> (C:\Users\Lenovo\Desktop\Cortex BETA\komutlar\otorol.js:3:47)
at Module._compile (internal/modules/cjs/loader.js:688:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
at Module.load (internal/modules/cjs/loader.js:598:32)
at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
at Function.Module._load (internal/modules/cjs/loader.js:529:3)
at Module.require (internal/modules/cjs/loader.js:636:17)
at require (internal/modules/cjs/helpers.js:20:18)


...böyle bir hata alıyorum. Ne yapabilirim?
komutlar otorol değil açıp içine {} atmıyorsun, düz, klasörsüz otorol.json olarak aç içine {} ekle
Post automatically merged:

Kolay gelsin hocam, yazdığınız her şeyi eksiksiz yaptım herhangi bir hatada almıyorum ama bot rol vermiyor? Komut çalışıyor ayarlıyorum rolü ama bot yeni girene rol vermiyor, kanalada mesaj atmıyor. (Botun tam yetkisi var ve üye rolünden üstün) Yardımcı olabilecek var mı ?
Kısaca sanırım komutta sıkıntı var, yakında bende paylaşırım :)
 
Üye
Katılım
10 Kas 2019
Mesajlar
1
Tepki puanı
0
Ödüller
2
Yaş
26
6 HİZMET YILI
ben çözdüm o hatayı otorolü komutlar/otorol.json diye yazmicakmışız direkotorol.json diye yazıcağız (glitch için)
 
Üye
Katılım
10 Kas 2019
Mesajlar
1
Tepki puanı
0
Yaş
20
6 HİZMET YILI
bnde json doyaları var ama olmuyo neden

HATA;


Error: ENOENT: no such file or directory, open './otorol.json'
at Object.openSync (fs.js:440:3)
at Object.readFileSync (fs.js:342:35)
at Object.<anonymous> (C:\Users\ADMİN\Desktop\BOTLAR\HeartNetwork\komutlar\otorol.js:3:47)
at Module._compile (internal/modules/cjs/loader.js:956:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
at Module.load (internal/modules/cjs/loader.js:812:32)
at Function.Module._load (internal/modules/cjs/loader.js:724:14)
at Module.require (internal/modules/cjs/loader.js:849:19)
at require (internal/modules/cjs/helpers.js:74:18)
at C:\Users\ADMİN\Desktop\BOTLAR\HeartNetwork\bot.js:21:17 {
errno: -4058,
syscall: 'open',
code: 'ENOENT',
path: './otorol.json'
}
 
Üye
Katılım
26 Eki 2019
Mesajlar
1
Tepki puanı
0
Yaş
25
6 HİZMET YILI
bissürü şey denedim hatasız çalışıyor ancak şöyle bir durum var kullanamıyorum
benim botumun prefixi ! sizin paylaştığınız kodda :: prefix böyle 2 sinide denedim ancak olmadı ! otorol fln yazdım bi yardım ederseniz sevinirim (bide oto rol için ayrı bir kategori oluşturdum)
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst