Facebook
From Me, 4 Years ago, written in JavaScript.
This paste is a reply to me from Me - view diff
Embed
Download Paste or View Raw
Hits: 287
  1. const Discord = require('discord.js');
  2. const client = new Discord.Client();
  3. const ayarlar = require('./ayarlar.json');
  4. const chalk = require('chalk');
  5. const moment = require('moment');
  6. var Jimp = require('jimp');
  7. const { Client, Util } = require('discord.js');
  8. const weather = require('weather-js')
  9. const fs = require('fs');
  10. const db = require('quick.db');
  11. const http = require('http');
  12. const express = require('express');
  13. require('./util/eventLoader.js')(client);
  14. const path = require('path');
  15. const request = require('request');
  16. const snekfetch = require('snekfetch');
  17. const queue = new Map();
  18. const YouTube = require('simple-youtube-api');
  19. const ytdl = require('ytdl-core');
  20.  
  21.  
  22. const app = express();
  23. app.get("/", (request, response) => {
  24.   console.log(Date.now() + " Ping tamamdır.");
  25.   response.sendStatus(200);
  26. });
  27. app.listen(process.env.PORT);
  28. setInterval(() => {
  29.   http.get(`http://${process.env.PROJECT_DOMAIN}.glitch.me/`);
  30. }, 280000);
  31.  
  32. var prefix = ayarlar.prefix;
  33.  
  34. const log = message => {
  35.     console.log(`${message}`);
  36. };
  37.  
  38. client.commands = new Discord.Collection();
  39. client.aliases = new Discord.Collection();
  40. fs.readdir('./komutlar/', (err, files) => {
  41.   if (err) console.error(err);
  42.     log(`${files.length} komut yüklenecek.`);
  43.     files.forEach(f => {
  44.         let props = require(`./komutlar/${f}`);
  45.         log(`Yüklenen komut: ${props.help.name}.`);
  46.         client.commands.set(props.help.name, props);
  47.         props.conf.aliases.forEach(alias => {
  48.             client.aliases.set(alias, props.help.name);
  49.         });
  50.     });
  51. });
  52.  
  53.  
  54.  
  55.  
  56. client.reload = command => {
  57.     return new Promise((resolve, reject) => {
  58.         try {
  59.             delete require.cache[require.resolve(`./komutlar/${command}`)];
  60.             let cmd = require(`./komutlar/${command}`);
  61.             client.commands.delete(command);
  62.             client.aliases.forEach((cmd, alias) => {
  63.                 if (cmd === command) client.aliases.delete(alias);
  64.             });
  65.             client.commands.set(command, cmd);
  66.             cmd.conf.aliases.forEach(alias => {
  67.                 client.aliases.set(alias, cmd.help.name);
  68.             });
  69.             resolve();
  70.         } catch (e) {
  71.             reject(e);
  72.         }
  73.     });
  74. };
  75.  
  76. client.load = command => {
  77.     return new Promise((resolve, reject) => {
  78.         try {
  79.             let cmd = require(`./komutlar/${command}`);
  80.             client.commands.set(command, cmd);
  81.             cmd.conf.aliases.forEach(alias => {
  82.                 client.aliases.set(alias, cmd.help.name);
  83.             });
  84.             resolve();
  85.         } catch (e) {
  86.             reject(e);
  87.         }
  88.     });
  89. };
  90.  
  91.  
  92.  
  93.  
  94. client.unload = command => {
  95.     return new Promise((resolve, reject) => {
  96.         try {
  97.             delete require.cache[require.resolve(`./komutlar/${command}`)];
  98.             let cmd = require(`./komutlar/${command}`);
  99.             client.commands.delete(command);
  100.             client.aliases.forEach((cmd, alias) => {
  101.                 if (cmd === command) client.aliases.delete(alias);
  102.             });
  103.             resolve();
  104.         } catch (e) {
  105.             reject(e);
  106.         }
  107.     });
  108. };
  109.  
  110. client.elevation = message => {
  111.     if (!message.guild) {
  112.         return;
  113.     }
  114.     let permlvl = 0;
  115.     if (message.member.hasPermission("BAN_MEMBERS")) permlvl = 2;
  116.     if (message.member.hasPermission("ADMINISTRATOR")) permlvl = 3;
  117.     if (message.author.id === ayarlar.sahip) permlvl = 4;
  118.     return permlvl;
  119. };
  120.  
  121. var regToken = /[\w\d]{24}\.[\w\d]{6}\.[\w\d-_]{27}/g;
  122. // client.on('debug', e => {
  123. //   console.log(chalk.bgBlue.green(e.replace(regToken, 'that was redacted')));
  124. // });
  125.  
  126. client.on('warn', e => {
  127.     console.log(chalk.bgYellow(e.replace(regToken, 'that was redacted')));
  128. });
  129.  
  130. client.on('error', e => {
  131.     console.log(chalk.bgRed(e.replace(regToken, 'that was redacted')));
  132. });
  133. ////log kanalı////
  134.  
  135.  
  136. client.on("roleCreate", async role => {
  137.  
  138.   var kanal = await db.fetch(`modlogK_${role.guild.id}`)
  139.   if (!kanal) return;
  140. var kanal2 = role.guild.channels.find('name', kanal)  
  141.  
  142.   const embed = new Discord.RichEmbed()
  143.   .setColor("RANDOM")
  144.   .setAuthor(`Bir Rol Oluşturuldu!`, role.guild.iconURL)
  145.   .addField("Rol", `\`${role.name}\``, true)
  146.   .addField("Rol Rengi Kodu", `${role.hexColor}`, true)
  147.   kanal2.send(embed);
  148.  
  149. });
  150.  
  151. client.on("roleDelete", async role => {
  152.  
  153.   var kanal = await db.fetch(`modlogK_${role.guild.id}`)
  154.   if (!kanal) return;
  155. var kanal2 = role.guild.channels.find('name', kanal)    
  156.  
  157.   const embed = new Discord.RichEmbed()
  158.   .setColor("RANDOM")
  159.   .setAuthor(`Bir Rol Kaldırıldı!`, role.guild.iconURL)
  160.   .addField("Rol", `\`${role.name}\``, true)
  161.   .addField("Rol Rengi Kodu", `${role.hexColor}`, true)
  162.   kanal2.send(embed);
  163.  
  164. });
  165.  
  166. client.on("roleUpdate", async role => {
  167.  
  168.   if (!log[role.guild.id]) return;
  169.  
  170.  var kanal = await db.fetch(`modlogK_${role.guild.id}`)
  171.   if (!kanal) return;
  172. var kanal2 = role.guild.channels.find('name', kanal)
  173.  
  174.   const embed = new Discord.RichEmbed()
  175.   .setColor("RANDOM")
  176.   .setAuthor(`Bir Rol Güncellendi!`, role.guild.iconURL)
  177.   .addField("Rol", `\`${role.name}\``, true)
  178.   .addField("Rol Rengi Kodu", `${role.hexColor}`, true)
  179.   kanal2.send(embed);
  180.  
  181. });
  182.  
  183.  
  184.   client.on('channelCreate', async (channel,member) => {
  185.     var kanal = await db.fetch(`modlogK_${member.guild.id}`)
  186.     const hgK = member.guild.channels.find('name', kanal)
  187.     if (!hgK) return;
  188.         if (!channel.guild) return;
  189.             if (channel.type === "text") {
  190.                 var embed = new Discord.RichEmbed()
  191.                 .setColor(3066993)
  192.                 .setAuthor(channel.guild.name, channel.guild.iconURL)
  193.                 .setDescription(`<#${channel.id}> kanalı oluşturuldu. _(metin kanalı)_`)
  194.                 .setFooter(`ID: ${channel.id}`)
  195.                 embed.send(embed);
  196.             };
  197.             if (channel.type === "voice") {
  198.                 var embed = new Discord.RichEmbed()
  199.                 .setColor("RANDOM")
  200.                 .setAuthor(channel.guild.name, channel.guild.iconURL)
  201.                 .setDescription(`${channel.name} kanalı oluşturuldu. _(sesli kanal)_`)
  202.                 .setFooter(`ID: ${channel.id}`)
  203.                 hgK.send({embed});
  204.             }
  205.        
  206.     })
  207.        
  208.     client.on('channelDelete', async channel => {
  209.             const fs = require('fs');
  210.         var kanal = await db.fetch(`modlogK_${channel.guild.id}`)
  211.  
  212.         const hgK = channel.guild.channels.find('name', kanal)
  213.         if (!hgK) return;
  214.             if (channel.type === "text") {
  215.                 let embed = new Discord.RichEmbed()
  216.                 .setColor("RANDOM")
  217.                 .setAuthor(channel.guild.name, channel.guild.iconURL)
  218.                 .setDescription(`${channel.name} kanalı silindi. _(metin kanalı)_`)
  219.                 .setFooter(`ID: ${channel.id}`)
  220.                 hgK.send({embed});
  221.             };
  222.             if (channel.type === "voice") {
  223.                 let embed = new Discord.RichEmbed()
  224.                 .setColor("RANDOM")
  225.                 .setAuthor(channel.guild.name, channel.guild.iconURL)
  226.                 .setDescription(`${channel.name} kanalı silindi. _(sesli kanal)_`)
  227.                 .setFooter(`ID: ${channel.id}`)
  228.                 hgK.send({embed});
  229.             }
  230.        
  231.     });
  232.  
  233.  
  234. client.on("guildCreate", guild => {
  235. const tesekkurler = new Discord.RichEmbed()
  236. .setColor("RANDOM")
  237. .setTitle("Teşekkürler")
  238. .setFooter(`${ayarlar.botadı}`)
  239. .setTimestamp()
  240. .setDescription(`Beni sunucuya eklediğinin teşekkürler herhangi bir sorunda destek sunucuma gelebilirsin. [Destek Sunucum](https://bit.ly/35uTZRN)`)
  241. guild.owner.send(tesekkurler)
  242.  
  243.  
  244. });
  245.  
  246. client.on('guildMemberAdd', async (member, guild, message) => {
  247.     let hgbbkanal = await db.fetch(`hgbbkanal_${member.guild.id}`)
  248.     if (!hgbbkanal) return
  249.  
  250.     var embed = new Discord.RichEmbed()
  251.         .setTitle(`:inbox_tray: Bir Kişi, Sunucuya katıldı.`)
  252.         .addField(`**:newspaper: Sunucuya Katılan**: ${member.user.tag}`, `Hoşgeldin, Kuralları Okuyarak Devam Edebilirsin.`)
  253.         .setDescription(`Kurallarımızı Okuduktan Sonra Sohbet Etmeye Başlayabilirsin`)
  254.         .addField(`:tada:**Sunucudaki Kişi Sayısı**: ${member.guild.members.size} `, `Daha Fazla Kişi davet Ederek Bu Sayıyı Çoğaltabilirsin`)
  255.         .setTimestamp()
  256.         .setFooter(`${ayarlar.botadı}`)
  257.         .setColor('RANDOM')
  258.     member.guild.channels.get(hgbbkanal).send(embed)
  259.   let tag = await db.fetch(`tag_${member.guild.id}`)
  260.  
  261.   if (!tag) return
  262.   member.setNickname(tag.replace('{uye}', member.user.username))
  263. });
  264. client.on('message', message => {
  265.   if (message.content === 'sa') {
  266.     message.reply("Aleyküm Selam Dostum, Nasılsın?")
  267.     }
  268.     });
  269. client.on('message', message => {
  270.   if (message.content === 'iyi') {
  271.     message.reply('Öyleyse Bende iyi ');
  272.   }
  273. });
  274. client.on('message', message => {
  275.   if (message.content === 'iyiyim') {
  276.     message.reply("Öyleyse Bende iyiyim");
  277.   }
  278. });
  279. client.on('message', message => {
  280.   if (message.content === 'kötü') {
  281.   message.reply("Aaa? Niye ki Üzüldüm Bak şimdi")
  282. }
  283. });
  284. client.on('message', message => {
  285.   if (message.content === 'nasılsın') {
  286.     message.reply('Ben iyiyim Peki Sen?');
  287.   }
  288. });
  289. //istediğiniz yere ekleyin bot.js de/Uyarılmadan önce aralıkta gönderilmesine izin verilen maksimum mesaj miktarı/Yasaklanmadan önce aralıkta gönderilmesine izin verilen maksimum ileti miktar.// ms kullanıcılarda zaman miktarı, yasaklanmadan önce aralık değişkeninin maksimumunu gönderebilir.// Uyarı mesajı, kullanıcıya hızlı gideceklerini belirten kullanıcıya gönderilir..//Yasak mesaj, yasaklanmış kullanıcıyı ,Banlar/Bir kullanıcının uyarılmadan önce bir zaman dilimi içinde gönderebileceği maksimum kopya sayısı//Bir kullanıcının yasaklanmadan önce bir zaman diliminde gönderebildiği maksimum kopya sayıs// Spamdan sonraki zaman// Spam Atan Kullanıcılar Verilecek R
  290.  
  291.  
  292.  
  293. client.on('message', msg => {
  294. var emoj = client.emojis.get("668533310628167680")
  295.   if (msg.content.toLowerCase() === '<@643881402227621898>') {
  296.                 if (!msg.guild.member(msg.author).hasPermission("BAN_MEMBERS")) {
  297.                 msg.author.sendMessage(`Efendim, Ben, ${ayarlar.botadı}, Beni Kullanmak için Kullanman Gereken Prefix: ${ayarlar.prefix}`)
  298.                 } else {
  299.                 msg.reply(`Efendim, Ben ${ayarlar.botadı}, <a:rain:669067249407229991> Beni Kullanmak için Kullanman Gereken Prefix(ÖnEki): ${ayarlar.prefix}'dir. Şimdilik Hoşcakal.`);
  300.                 }
  301.         }
  302. });
  303.  
  304. client.on('guildMemberRemove', async (member, guild, message) => {
  305.    let hgbbkanal = await db.fetch(`hgbbkanal_${member.guild.id}`)
  306.  
  307.    if (!hgbbkanal) return
  308.  
  309.    var embed = new Discord.RichEmbed()
  310.        .setTitle("Biri Sunucudan Çıktı,")
  311.        .setDescription(`Çıkan Kişi: ${member.user.tag}`)
  312.        .addField(`Sunucuda Kalan Kişi Sayısı: ${member.guild.members.size}` ,`Bu Sayıyı Arkadaşlarını Davet Ederek Yükseltebilirsin`)
  313.        .addField(`Görüşürüz`, `Eğer Banlanmadıysan Kapımız Her Zaman Açık!`)
  314.        .setColor('RANDOM')
  315.    member.guild.channels.get(hgbbkanal).send(embed)
  316. })
  317.  
  318. client.on('guildCreate', guild => {
  319.  var guilds = '662986133835087882';
  320.  var channeldi = '665565760873299979';
  321.  const embed = new Discord.RichEmbed()
  322.    .setColor("RANDOM")
  323.    .setAuthor(`Bir Sunucuya Başarılı Bir Şekilde Eklendim`)
  324.    .setThumbnail(guild.iconURL)
  325.    .addField("Sunucu Adı", guild.name)
  326.    .addField("Kurucu", guild.owner)
  327.    .addField("Sunucu ID", guild.id, true)
  328.    .addField("Toplam Kullanıcı", guild.memberCount, true)
  329.    .addField("Toplam Kanal", guild.channels.size, true)
  330.  client.guilds.get(guilds).channels.get(channeldi).send(embed);
  331. });
  332.  
  333. client.on('guildDelete', guild => {
  334.  var guild = '662986133835087882';
  335.   var kanalid = '665659028432617502';
  336.   const embedw = new Discord.RichEmbed()
  337.  .setColor("RANDOM")
  338.    .setAuthor(`Atıldım`)
  339.    .setThumbnail(guild.iconURL)
  340.    .addField("Sunucu Adı", guild.name)
  341.    .addField("Kurucu", guild.owner)
  342.    .addField("Sunucu ID", guild.id, true)
  343.    .addField("Toplam Kullanıcı", guild.memberCount, true)
  344.    .addField("Toplam Kanal", guild.channels.size, true)
  345.   client.guilds.get(guild).channels.get(kanalid).send(embedw);
  346. });
  347.  
  348. client.on('guildDelete', guild => {
  349. const uzuldum = new Discord.RichEmbed()
  350. .setTitle('Beni Sunucundan Attığına Üzüldüm')
  351. .setDescription('Lütfen Beni Neden Attığını v!bug <neden> Olarak Açıklar Mısın?')
  352. .addField("Beni Geri Eklemek İstersen", `[Buraya Tıklayabilirsin](https://bit.ly/2QrM7w6)`)
  353. .addField(`${ayarlar.botadı} BOT Ekibi Olarak`, `Hepimiz Üzüldük Keşke Atmasaydın, Tabiki Geri Ekleyebilirsin TET Sâma BOT Ekibi Sunar..`)
  354. guild.owner.send(uzuldum)
  355. });
  356.  
  357. client.on("message", async message => {
  358.  if(message.content.startsWith(prefix)) return;
  359.  if(message.author.bot) return;
  360.  
  361.  var id = message.author.id;
  362.  var gid = message.guild.id;
  363.  
  364.  var xp = await db.fetch(`xp_${id}_${gid}`);
  365.  var lvl = await db.fetch(`lvl_${id}_${gid}`);
  366.  var xpToLvl = await db.fetch(`xpToLvl_${id}_${gid}`);
  367.  
  368.  
  369.  if(!lvl) {
  370.  
  371.    db.set(`xp_${id}_${gid}`, 5);
  372.    db.set(`lvl_${id}_${gid}`, 1);
  373.    db.set(`xpToLvl_${id}_${gid}`, 100);
  374.  
  375.  } else {
  376.  
  377.    var random = Math.random() * (8 - 3) + 3;
  378.    db.add(`xp_${id}_${gid}`, random.toFixed());
  379.    console.log(xp);
  380.  
  381.    if(xp > xpToLvl) {
  382.    
  383.      db.add(`lvl_${id}_${gid}`, 1);
  384.      db.add(`xpToLvl_${id}_${gid}`, await db.fetch(`lvl_${id}_${gid}`) * 100);
  385.      var lvl = await db.fetch(`lvl_${id}_${gid}`);
  386.      message.channel.send("Tebrikler, " + message.author + ". Seviye atladın! Yeni seviyen: **" + lvl + "**");
  387.      var role = message.guild.roles.get(await db.fetch(`role_${gid}_${lvl}seviye`));
  388.      if(!role) return;
  389.      else {
  390.        message.member.addRole(role);
  391.        message.channel.send("Tebrikler! **" + lvl + "** seviye olarak @" + role.name + " rolünü kazandınız.");
  392.      }
  393.    
  394.    }
  395.  
  396.  }
  397.  
  398.  
  399.  
  400. });
  401.  
  402.  
  403. client.on('message', async (message, member) => {
  404.  let ke = await db.fetch(`kufur_${message.guild.id}`)
  405.  
  406.  if (ke === "kapali" || ke === undefined || ke === null){
  407.    return;
  408.  } else if (ke === "acik") {
  409.    let küfür = ["pezeveng", "porn", "amk", "amcık", "yarrak", "sik", "amına koduğum", "kaltak", "yavşak", "orospu", "piç", "ananı sikim", "sikik", "göt", "pezevenk", "gavat", "meme"]
  410.    if (küfür.some(word => message.content.includes(word))){
  411.        if (!message.member.hasPermission("BAN_MEMBERS")) {
  412.        message.delete();
  413.        const embed = new Discord.RichEmbed()
  414.        .setTitle("Bu Sunucuda Küfür Yasaklanmış")
  415.        .setDescription(`Lütfen Bir Daha Küfür Etme. Aksi Takdirde Sunucudan Atılabilirsin`)
  416.        .setFooter("CatBOT")
  417.        .setTimestamp()
  418.        .setColor("RANDOM")
  419.        message.channel.send(embed)
  420.      }
  421.    }
  422.  
  423.  }
  424. })
  425. client.on('message', async (message, member) => {
  426.  let ke = await db.fetch(`reklam_${message.guild.id}`)
  427.  
  428.  if (ke === "kapali" || ke === undefined || ke === null){
  429.    return;
  430.  } else if (ke === "acik") {
  431.    let reklam = ["discord.gg", "bit.ly", "http", "discord.gg/", "https", ".org", ".com", ".cf", ".tk", ".xyz", "www."]
  432.    if (reklam.some(word => message.content.includes(word))){
  433.        if (!message.member.hasPermission("BAN_MEMBERS")) {
  434.        message.delete();
  435.     const embed = new Discord.RichEmbed()
  436.    .setTitle("Bu Sunucuda Reklam Yasaklanmış")
  437.    .setDescription(`Bir Daha Reklam Yaparsan Atılabilir Veya Banlanabilirsin!`)
  438.    .setFooter(`${ayarlar.botadı}`)
  439.    .setTimestamp()
  440.    .setColor("RANDOM")
  441.   message.channel.send(embed)
  442.     }
  443.    }
  444.  
  445.  }
  446. })
  447.  
  448. const { GOOGLE_API_KEY } = require('./ayarlar.json');
  449. const youtube = new YouTube(GOOGLE_API_KEY)
  450.  
  451. client.on('message', async msg => {
  452.  
  453.         if (msg.author.bot) return undefined;
  454.         if (!msg.content.startsWith(prefix)) return undefined;
  455.  
  456.         const args = msg.content.split(' ');
  457.         const searchString = args.slice(1).join(' ');
  458.         const url = args[
  459.  
  460.         if (command === 'çal') {
  461.                 const voiceChannel = msg.member.voiceChannel;
  462.                 if (!voiceChannel) return msg.channel.sendEmbed(new Discord.RichEmbed()
  463.      .setColor('RANDOM')
  464.      .setTimestamp()
  465.      .setTitle("Şarkı Başlatılamıyor")
  466.      .setDescription(`**Lütfen Bir Sesli Kanala Giriş Yapınız** Aksi Takdirde Müzik Başlatılamayacak..`)
  467.      .setFooter(`${ayarlar.botadı}`));
  468.    const permissions = voiceChannel.permissionsFor(msg.client.user);
  469.                 if (!permissions.has('CONNECT')) {
  470.                         return msg.channel.sendEmbed(new Discord.RichEmbed()
  471.    .setColor('RANDOM')
  472.    .setTitle('Şarkı Başlatılamıyor')
  473.    .setDescription("**Lütfen Yetki Veriniz** Aksi Takdirde Müzik Başlatılamayacak.")
  474.                 .setTimestamp()
  475.    .setFooter(`${ayarlar.botadı}`));
  476.    }
  477.                 if (!permissions.has('SPEAK')) {
  478.                          return msg.channel.sendEmbed(new Discord.RichEmbed()
  479.      .setColor('RANDOM')
  480.      .setTitle('Şarkı başlatılamıyor.')
  481.      .setDescription('**Lütfen mikrofonumu açınız**. Aksi Takdirde Müzik Başlatılamayacak.')
  482.      .setTimestamp()
  483.      .setFooter(`${ayarlar.botadı}`));
  484.    }
  485.  
  486.                 if (url.match(/^https?:\/\/(www.youtube.com|youtube.com)\/playlist(.*)$/)) {
  487.                         const playlist = await youtube.getPlaylist(url);
  488.                         const videos = await playlist.getVideos();
  489.                 for (const video of Object.values(videos)) {
  490.                                 const video2 = await youtube.getVideoByID(video.id); // eslint-disable-line no-await-in-loop
  491.                                 await handleVideo(video2, msg, voiceChannel, true); // eslint-disable-line no-await-in-loop
  492.                         }
  493.                          return msg.channel.sendEmbed(new Discord.RichEmbed)
  494.      .setTitle(`**? | Oynatma Listesi: **${playlist.title}** Kuyruğa Eklendi!**`)
  495.                 } else {
  496.                         try {
  497.                                 var video = await youtube.getVideo(url);
  498.                         } catch (error) {
  499.                                 try {
  500.                                         var videos = await youtube.searchVideos(searchString, 10);
  501.                                         let index = 0;
  502.          
  503.                                  msg.channel.sendEmbed(new Discord.RichEmbed()                
  504.         .setTitle(`${ayarlar.botadı} | Şarkı Seçimi`)
  505.         .setAuthor(`${msg.author.tag}`, msg.author.avatarURL)
  506.         .setDescription(`${videos.map(video2 => `**${++index} -** ${video2.title}`).join('\n')}`)
  507.         .setFooter('Lütfen 1-10 arasında bir rakam seçiniz 10 saniye içinde liste iptal edilecektir.')
  508.         .setTimestamp()
  509.         .setColor('RANDOM'));
  510.        
  511.                                         try {
  512.                                                 var response = await msg.channel.awaitMessages(msg2 => msg2.content > 0 && msg2.content < 11, {
  513.                                                         maxMatches: 1,
  514.                                                         time: 10000,
  515.                                                         errors: ['time']
  516.                                                 });
  517.                                         } catch (err) {
  518.                                                 console.error(err);
  519.                                                  return msg.channel.sendEmbed(new Discord.RichEmbed()
  520.            .setColor('RANDOM')
  521.            .setTitle('Seçim İptal Edilmiştir.')
  522.            .setDescription("Lütfen Tekrar Deneyiniz Bu sefer Seçiminizi 10 saniyede Yapınız Aksi Takdirde Seçim Yine İptal Edilecektir")
  523.            .setTimestamp()
  524.            .setFooter(`${ayarlar.botadı}`));
  525.          }
  526.                                         const videoIndex = parseInt(response.first().content);
  527.                                         var video = await youtube.getVideoByID(videos[videoIndex - 1].id);
  528.                                 } catch (err) {
  529.                                         console.error(err);
  530.                                         return msg.channel.sendEmbed(new Discord.RichEmbed()
  531.  
  532.          .setFooter(`${ayarlar.botadı}`)                            
  533.          .setTimestamp()                            
  534.          .setColor('RANDOM')
  535.          .setTitle('Aradım Fakat Hiç Bir Sonuç Çıkmadı')
  536.          .setDescription(`Lütfen Şarkının ismini Doğru Giriniz. Eğer Doğru Girdiyseniz Ve Sonuç Bulunamıyorsa Diğer Şarkıları Deneyiniz Yine Bulunamıyorsa Lütfen ${ayarlar.prefix}bug Sonuç Bulunamadı Hatası Yazınız.`));
  537.                }
  538.            }
  539.                         return handleVideo(video, msg, voiceChannel);
  540.      
  541.                 }
  542.         } else if (command === 'atla') {
  543.                 if (!msg.member.voiceChannel) if (!msg.member.voiceChannel) return msg.channel.sendEmbed(new Discord.RichEmbed()
  544.    .setColor('RANDOM')
  545.    .setDescription('Lütfen öncelikle sesli bir kanala katılınız. Ve şarkı açınız')
  546.    .setTitle("Hiç Bir Şarkı Atlatılamadı")
  547.           .setFooter(`${ayarlar.botadı}`)
  548.    .setTimestamp());                                                                                        
  549. if (!serverQueue) return msg.channel.sendEmbed(new Discord.RichEmbed()
  550.     .setColor('RANDOM')
  551.     .setTitle('Hiç Bir Müzik Atlatılamadı')
  552.     .setFooter(`${ayarlar.botadı}`)                                        
  553.     .setTimestamp()
  554.     .setDescription(`Lütfen Önceliikle Sesli Bir Kanala Katılınız Ve Şarkı açınız`));
  555.                 serverQueue.connection.dispatcher.end('Müzik Başarıyla Atlatıldı');
  556.                 return undefined;
  557.         } else if (command === 'sonlandır') {
  558.                 if (!msg.member.voiceChannel) if (!msg.member.voiceChannel) return msg.channel.sendEmbed(new Discord.RichEmbed()
  559.    .setColor('RANDOM')
  560.    .setDescription('Lütfen öncelikle sesli bir kanala katılınız.')
  561.    .setTitle("Şarkı Sonlandırılamdı")                                                                        
  562.    .setFooter(`${ayarlar.botadı}`)                                                                                        
  563.    .setTimestamp());                                                                                        
  564.                 if (!serverQueue) return msg.channel.sendEmbed(new Discord.RichEmbed()
  565.     .setColor('RANDOM')
  566.     .setTitle("Şarkı Durdurulamadı")
  567.     .setTimestamp()                                              
  568.     .setFooter(`${ayarlar.botadı}`)                              
  569.     .setDescription('Çalınan Şarkı Bulunamadı.'));                                              
  570.                 msg.channel.send(`:stop_button: **${serverQueue.songs[0].title}** Adlı Müzik Durduruldu`);
  571.                 serverQueue.songs = [];
  572.                 serverQueue.connection.dispatcher.end('Müzik Bitti');
  573.                 return undefined;
  574.         } else if (command === 'ses') {
  575.                 if (!msg.member.voiceChannel) if (!msg.member.voiceChannel) return msg.channel.sendEmbed(new Discord.RichEmbed()
  576.    .setColor('RANDOM')
  577.    .setTitle("Ses Seviyesi Bulunamadı")
  578.    .setFooter(`${ayarlar.botadı}`)
  579.    .setTimestamp()                                                                                        
  580.    .setDescription('Lütfen öncelikle sesli bir kanala katılınız. Ondan Sonra Da Şarkı açıp Bu Komutu Kullanabilirsiniz'));
  581.                 if (!serverQueue) return msg.channel.sendEmbed(new Discord.RichEmbed()
  582.     .setColor('RANDOM')
  583.     .setTimestamp()
  584.     .setTitle("Ses Seviyesi Bulunamadı")
  585.     .setFooter(`${ayarlar.botadı}`)
  586.     .setDescription('Hiç Bir Müzik Çalmamakta'));                                              
  587.                 if (!args[1]) return msg.channel.sendEmbed(new Discord.RichEmbed()
  588.    .setTitle("Ses Seviyesi")
  589.    .setDescription(`Şuanki Ses Seviyesi: **${serverQueue.volume}**`)
  590.    .setFooter(`${ayarlar.botadı}`)
  591.    .setTimestamp()
  592.    .setColor('RANDOM'))
  593.                 serverQueue.volume = args[1];
  594.                 serverQueue.connection.dispatcher.setVolumeLogarithmic(args[1] / 5);
  595.                 return msg.channel.sendEmbed(new Discord.RichEmbed()
  596.    .setTitle("Lütfen Kulak Sağlığınız İçin Fazla Sesli Açmayın")
  597.    .setDescription(`:hammer:  Ses Seviyesi Başarıyla Ayarlanıyor: **${args[1]}**`)
  598.    .setFooter(`${ayarlar.botadı}`)
  599.    .setTimestamp()
  600.    .setColor('RANDOM'));                            
  601.         } else if (command === 'çalan') {
  602.                 if (!serverQueue) return msg.channel.sendEmbed(new Discord.RichEmbed()
  603.    .setTitle("Çalan Müzik Bulunmamakta")
  604.    .setFooter(`${ayarlar.botadı}`)
  605.    .setTimestamp()
  606.    .setDescription("Eğer Şimdi Müzik açarsanız Sıra Beklemiceksiniz")
  607.    .setColor('RANDOM'));
  608.                 return msg.channel.sendEmbed(new Discord.RichEmbed()
  609.    .setColor('RANDOM')
  610.    .setTitle(`${ayarlar.botadı} | Çalan Müzik`)                            
  611.    .addField('Başlık', `[${serverQueue.songs[0].title}](${serverQueue.songs[0].url})`, true)
  612.    .addField("Süre", `${serverQueue.songs[0].durationm}:${serverQueue.songs[0].durations}`, true))
  613.         } else if (command === 'kuyruk') {
  614.    let index = 0;
  615.                 if (!serverQueue) return msg.channel.sendEmbed(new Discord.RichEmbed()
  616.    .setTitle("Sırada Müzik Bulunmamakta")
  617.    .setDescription("Eğer Şimdi Müzik Açarsanız Kimseyi Beklemiceksiniz.")
  618.    .setFooter(`${ayarlar.botadı}`)                                              
  619.    .setTimestamp()                                                                                              
  620.    .setColor('RANDOM'));
  621.                   return msg.channel.sendEmbed(new Discord.RichEmbed()
  622.    .setColor('RANDOM')
  623.    .setTimestamp()
  624.    .setFooter(`${ayarlar.botadı}`)
  625.    .setTitle('Şarkı Kuyruğu')
  626.    .setDescription(`${serverQueue.songs.map(song => `**${++index} -** ${song.title}`).join('\n')}`))
  627.    .addField('Şu anda çalınan: ' + `${serverQueue.songs[0].title}`);
  628.         } else if (command === 'duraklat') {
  629.                 if (serverQueue && serverQueue.playing) {
  630.                         serverQueue.playing = false;
  631.                         serverQueue.connection.dispatcher.pause();
  632.                         return msg.channel.sendEmbed(new Discord.RichEmbed()
  633.      .setDescription(`Eğer Devam Ettirmek isterseniz ${ayarlar.prefix}devam Yazmanız Yeterlidir.`)
  634.      .setTitle("Şarkı Başarıyla Duraklatıldı")
  635.      .setFooter(`${ayarlar.botadı}`)                            
  636.      .setTimestamp()                          
  637.      .setColor('RANDOM'));
  638.    }
  639.                 return msg.channel.send('Çalan Müzik Bulunmamakta');
  640.         } else if (command === 'devam') {
  641.                 if (serverQueue && !serverQueue.playing) {
  642.                         serverQueue.playing = true;
  643.                         serverQueue.connection.dispatcher.resume();
  644.                         return msg.channel.sendEmbed(new Discord.RichEmbed()
  645.      .setTitle('Şarkının Keyfini Çıkar')
  646.      .setDescription("Başarıyla Müzik devam ediyor.")
  647.      .setFooter(`${ayarlar.botadı}`)      
  648.      .setTimestamp()              
  649.      .setColor('RANDOM'));
  650.    }
  651.                 return msg.channel.sendEmbed(new Discord.RichEmbed()
  652.    .setTitle("Çalan Müzik Bulunmamakta.")
  653.    .setDescription("Lütfen Bir Müzik açınız.")
  654.    .setFooter(`${ayarlar.botadı}`)
  655.    .setTimestamp()
  656.    .setColor('RANDOM'));
  657.         }
  658.  
  659.  
  660.         return undefined;
  661. });
  662.  
  663. async function handleVideo(video, msg, voiceChannel, playlist = false) {
  664.    const serverQueue = queue.get(msg.guild.id);
  665.    const song = {
  666.        id: video.id,
  667.        title: video.title,
  668.        url: `https://www.youtube.com/watch?v=${video.id}`,
  669.    durationh: video.duration.hours,
  670.    durationm: video.duration.minutes,
  671.        durations: video.duration.seconds,
  672.      zg: video.raw.snippet.channelId,
  673.      best: video.channel.title,
  674.      views: video.raw.views,
  675.    };
  676.         if (!serverQueue) {
  677.                 const queueConstruct = {
  678.                         textChannel: msg.channel,
  679.                         voiceChannel: voiceChannel,
  680.                         connection: null,
  681.                         songs: [],
  682.                         volume: 5,
  683.                         playing: true
  684.                 };
  685.                 queue.set(msg.guild.id, queueConstruct);
  686.  
  687.                 queueConstruct.songs.push(song);
  688.  
  689.                 try {
  690.                         var connection = await voiceChannel.join();
  691.                         queueConstruct.connection = connection;
  692.                         play(msg.guild, queueConstruct.songs[0]);
  693.                 } catch (error) {
  694.                         console.error(`:warning: **Şarkı Sisteminde Problem Var Hata Nedeni: ${error}**`);
  695.                         queue.delete(msg.guild.id);
  696.                         return msg.channel.sendEmbed(new Discord.RichEmbed()
  697.      .setTitle(`:warning: **Şarkı Sisteminde Problem Var ${error}**`)
  698.      .setDescription(`Lütfen Daha Sonra Tekrar Deneyin Olmazsa ${error}'u Şu şekilde şikayet ediniz ${ayarlar.prefix}bug ${error}.`)
  699.       .setFooter("Şikayet Ettiyseniz Sorununuz En Kısa zamanda Çözülecektir")
  700.       .setTimestampl()
  701.       .setColor('RANDOM'))
  702.                 }
  703.         } else {
  704.                 serverQueue.songs.push(song);
  705.                 console.log(serverQueue.songs);
  706.                 if (playlist) return undefined;
  707.                 return msg.channel.sendEmbed(new Discord.RichEmbed()
  708.     .setTitle(`:arrow_heading_up:  **${song.title}** Adlı Müzik Kuyruğa Eklendi!`)
  709.     .setDescription('Şarkınız Sizden Önceki Şarkılar Bittiğinde Başlayacaktır')
  710.     .setFooter(`${ayarlar.botadı}`)
  711.     .setTimestamp()
  712.     .setColor('RANDOM'))
  713.         }
  714.         return undefined;
  715. }
  716.  
  717. function play(guild, song) {
  718.         const serverQueue = queue.get(guild.id);
  719.  
  720.         if (!song) {
  721.                 serverQueue.voiceChannel.leave();
  722.                 queue.delete(guild.id);
  723.                 return;
  724.         }
  725.         console.log(serverQueue.songs);
  726.  
  727.         const dispatcher = serverQueue.connection.playStream(ytdl(song.url))
  728.                 .on('end', reason => {
  729.                         if (reason === '**Yayın Akış Hızı Yeterli Değil.**') console.log('Müzik Bitti.');
  730.                         else console.log(reason);
  731.                         serverQueue.songs.shift();
  732.                         play(guild, serverQueue.songs[0]);
  733.                 })
  734.                 .on('error', error => console.error(error));
  735.         dispatcher.setVolumeLogarithmic(serverQueue.volume / 5);
  736.  
  737.          serverQueue.textChannel.sendEmbed(new Discord.RichEmbed()                                  
  738.   .setTitle(`${ayarlar.botadı} | :microphone: Müzik Başladı`)
  739.   .addField('\nBaşlık', `[${song.title}](${song.url})`, true)
  740.   .addField("\nSes Seviyesi", `${serverQueue.volume}%`, true)
  741.   .addField("Süre", `${song.durationm}:${song.durations}`, true)
  742.   .addField("Video ID", `${song.id}`, true)
  743.   .addField("Kanal ID", `${song.zg}`, true)
  744.   .addField("Kanal İsmi", `${song.best}`, true)
  745.   .addField("Video Linki", `${song.url}`, true)                              
  746.   .setFooter(`${ayarlar.botadı}`)
  747.   .setTimestamp()                            
  748.   .setColor("RANDOM"))
  749.     }
  750.    client.on("guildMemberAdd", async member => {
  751. let kanal = await db.fetch(`otok_${member.guild.id}`)  
  752. let rol = await db.fetch(`otorol_${member.guild.id}`)  
  753. let mesaj =  db.fetch(`otomesaj_${member.guild.id}`)  
  754. if(!kanal) return
  755.  
  756. if(!mesaj) {
  757.  
  758.   client.channels.get(kanal).send(':loudspeaker: :inbox_tray: Otomatik Rol Verildi Seninle Beraber `'+member.guild.memberCount+'` Kişiyiz! Hoşgeldin! `'+member.user.username+'`')
  759. member.addRole(rol)
  760.   return
  761. }
  762.  
  763. if(mesaj) {
  764.   var mesajs = await db.fetch(`otomesaj_${member.guild.id}`).replace("-uye-", `${member.user.tag}`).replace("-rol-", `${member.guild.roles.get(rol).name}`).replace("-server-", `${member.guild.name}`).replace("-uyesayisi-", `${member.guild.memberCount}`).replace("-botsayisi-", `${member.guild.members.filter(m => m.user.bot).size}`).replace("-bolge-", `${member.guild.region}`).replace("-kanalsayisi-", `${member.guild.channels.size}`)
  765.   member.addRole(rol)
  766.   client.channels.get(kanal).send(mesajs)
  767.  
  768. }  
  769.  
  770. });
  771.  
  772. client.login(ayarlar.token);