const Discord = require('discord.js'); const client = new Discord.Client(); const ayarlar = require('./ayarlar.json'); const chalk = require('chalk'); const moment = require('moment'); var Jimp = require('jimp'); const { Client, Util } = require('discord.js'); const weather = require('weather-js') const fs = require('fs'); const db = require('quick.db'); const http = require('http'); const express = require('express'); require('./util/eventLoader.js')(client); const path = require('path'); const request = require('request'); const snekfetch = require('snekfetch'); const queue = new Map(); const YouTube = require('simple-youtube-api'); const ytdl = require('ytdl-core'); const app = express(); app.get("/", (request, response) => { console.log(Date.now() + " Ping tamamdır."); response.sendStatus(200); }); app.listen(process.env.PORT); setInterval(() => { http.get(`http://${process.env.PROJECT_DOMAIN}.glitch.me/`); }, 280000); var prefix = ayarlar.prefix; const log = message => { console.log(`${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); } }); }; client.elevation = message => { if (!message.guild) { return; } let permlvl = 0; if (message.member.hasPermission("BAN_MEMBERS")) permlvl = 2; if (message.member.hasPermission("ADMINISTRATOR")) permlvl = 3; if (message.author.id === ayarlar.sahip) permlvl = 4; return permlvl; }; var regToken = /[\w\d]{24}\.[\w\d]{6}\.[\w\d-_]{27}/g; // client.on('debug', e => { // console.log(chalk.bgBlue.green(e.replace(regToken, 'that was redacted'))); // }); client.on('warn', e => { console.log(chalk.bgYellow(e.replace(regToken, 'that was redacted'))); }); client.on('error', e => { console.log(chalk.bgRed(e.replace(regToken, 'that was redacted'))); }); ////log kanalı//// client.on("roleCreate", async role => { var kanal = await db.fetch(`modlogK_${role.guild.id}`) if (!kanal) return; var kanal2 = role.guild.channels.find('name', kanal) const embed = new Discord.RichEmbed() .setColor("RANDOM") .setAuthor(`Bir Rol Oluşturuldu!`, role.guild.iconURL) .addField("Rol", `\`${role.name}\``, true) .addField("Rol Rengi Kodu", `${role.hexColor}`, true) kanal2.send(embed); }); client.on("roleDelete", async role => { var kanal = await db.fetch(`modlogK_${role.guild.id}`) if (!kanal) return; var kanal2 = role.guild.channels.find('name', kanal) const embed = new Discord.RichEmbed() .setColor("RANDOM") .setAuthor(`Bir Rol Kaldırıldı!`, role.guild.iconURL) .addField("Rol", `\`${role.name}\``, true) .addField("Rol Rengi Kodu", `${role.hexColor}`, true) kanal2.send(embed); }); client.on("roleUpdate", async role => { if (!log[role.guild.id]) return; var kanal = await db.fetch(`modlogK_${role.guild.id}`) if (!kanal) return; var kanal2 = role.guild.channels.find('name', kanal) const embed = new Discord.RichEmbed() .setColor("RANDOM") .setAuthor(`Bir Rol Güncellendi!`, role.guild.iconURL) .addField("Rol", `\`${role.name}\``, true) .addField("Rol Rengi Kodu", `${role.hexColor}`, true) kanal2.send(embed); }); client.on('channelCreate', async (channel,member) => { var kanal = await db.fetch(`modlogK_${member.guild.id}`) const hgK = member.guild.channels.find('name', kanal) if (!hgK) return; if (!channel.guild) return; if (channel.type === "text") { var embed = new Discord.RichEmbed() .setColor(3066993) .setAuthor(channel.guild.name, channel.guild.iconURL) .setDescription(`<#${channel.id}> kanalı oluşturuldu. _(metin kanalı)_`) .setFooter(`ID: ${channel.id}`) embed.send(embed); }; if (channel.type === "voice") { var embed = new Discord.RichEmbed() .setColor("RANDOM") .setAuthor(channel.guild.name, channel.guild.iconURL) .setDescription(`${channel.name} kanalı oluşturuldu. _(sesli kanal)_`) .setFooter(`ID: ${channel.id}`) hgK.send({embed}); } }) client.on('channelDelete', async channel => { const fs = require('fs'); var kanal = await db.fetch(`modlogK_${channel.guild.id}`) const hgK = channel.guild.channels.find('name', kanal) if (!hgK) return; if (channel.type === "text") { let embed = new Discord.RichEmbed() .setColor("RANDOM") .setAuthor(channel.guild.name, channel.guild.iconURL) .setDescription(`${channel.name} kanalı silindi. _(metin kanalı)_`) .setFooter(`ID: ${channel.id}`) hgK.send({embed}); }; if (channel.type === "voice") { let embed = new Discord.RichEmbed() .setColor("RANDOM") .setAuthor(channel.guild.name, channel.guild.iconURL) .setDescription(`${channel.name} kanalı silindi. _(sesli kanal)_`) .setFooter(`ID: ${channel.id}`) hgK.send({embed}); } }); client.on("guildCreate", guild => { const tesekkurler = new Discord.RichEmbed() .setColor("RANDOM") .setTitle("Teşekkürler") .setFooter(`${ayarlar.botadı}`) .setTimestamp() .setDescription(`Beni sunucuya eklediğin için teşekkürler herhangi bir sorunda destek sunucuma gelebilirsin. [Destek Sunucum](https://bit.ly/35uTZRN)`) guild.owner.send(tesekkurler) }); client.on('guildMemberAdd', async (member, guild, message) => { let hgbbkanal = await db.fetch(`hgbbkanal_${member.guild.id}`) if (!hgbbkanal) return var embed = new Discord.RichEmbed() .setTitle(`:inbox_tray: Bir Kişi, Sunucuya katıldı.`) .addField(`**:newspaper: Sunucuya Katılan**: ${member.user.tag}`, `Hoşgeldin, Kuralları Okuyarak Devam Edebilirsin.`) .setDescription(`Kurallarımızı Okuduktan Sonra Sohbet Etmeye Başlayabilirsin`) .addField(`:tada:**Sunucudaki Kişi Sayısı**: ${member.guild.members.size} `, `Daha Fazla Kişi davet Ederek Bu Sayıyı Çoğaltabilirsin`) .setTimestamp() .setFooter(`${ayarlar.botadı}`) .setColor('RANDOM') member.guild.channels.get(hgbbkanal).send(embed) let tag = await db.fetch(`tag_${member.guild.id}`) if (!tag) return member.setNickname(tag.replace('{uye}', member.user.username)) }); client.on('message', message => { if (message.content === 'sa') { message.reply("Aleyküm Selam Dostum, Nasılsın?") } }); client.on('message', message => { if (message.content === 'iyi') { message.reply('Öyleyse Bende iyi '); } }); client.on('message', message => { if (message.content === 'iyiyim') { message.reply("Öyleyse Bende iyiyim"); } }); client.on('message', message => { if (message.content === 'kötü') { message.reply("Aaa? Niye ki Üzüldüm Bak şimdi") } }); client.on('message', message => { if (message.content === 'nasılsın') { message.reply('Ben iyiyim Peki Sen?'); } }); //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 client.on('message', msg => { var emoj = client.emojis.get("668533310628167680") if (msg.content.toLowerCase() === '<@643881402227621898>') { if (!msg.guild.member(msg.author).hasPermission("BAN_MEMBERS")) { msg.author.sendMessage(`Efendim, Ben, ${ayarlar.botadı}, Beni Kullanmak için Kullanman Gereken Prefix: ${ayarlar.prefix}`) } else { msg.reply(`Efendim, Ben ${ayarlar.botadı}, Beni Kullanmak için Kullanman Gereken Prefix(ÖnEki): ${ayarlar.prefix}'dir. Şimdilik Hoşcakal.`); } } }); client.on('guildMemberRemove', async (member, guild, message) => { let hgbbkanal = await db.fetch(`hgbbkanal_${member.guild.id}`) if (!hgbbkanal) return var embed = new Discord.RichEmbed() .setTitle("Biri Sunucudan Çıktı,") .setDescription(`Çıkan Kişi: ${member.user.tag}`) .addField(`Sunucuda Kalan Kişi Sayısı: ${member.guild.members.size}` ,`Bu Sayıyı Arkadaşlarını Davet Ederek Yükseltebilirsin`) .addField(`Görüşürüz`, `Eğer Banlanmadıysan Kapımız Her Zaman Açık!`) .setColor('RANDOM') member.guild.channels.get(hgbbkanal).send(embed) }) client.on('guildCreate', guild => { var guilds = '662986133835087882'; var channeldi = '665565760873299979'; const embed = new Discord.RichEmbed() .setColor("RANDOM") .setAuthor(`Bir Sunucuya Başarılı Bir Şekilde Eklendim`) .setThumbnail(guild.iconURL) .addField("Sunucu Adı", guild.name) .addField("Kurucu", guild.owner) .addField("Sunucu ID", guild.id, true) .addField("Toplam Kullanıcı", guild.memberCount, true) .addField("Toplam Kanal", guild.channels.size, true) client.guilds.get(guilds).channels.get(channeldi).send(embed); }); client.on('guildDelete', guild => { var guild = '662986133835087882'; var kanalid = '665659028432617502'; const embedw = new Discord.RichEmbed() .setColor("RANDOM") .setAuthor(`Atıldım`) .setThumbnail(guild.iconURL) .addField("Sunucu Adı", guild.name) .addField("Kurucu", guild.owner) .addField("Sunucu ID", guild.id, true) .addField("Toplam Kullanıcı", guild.memberCount, true) .addField("Toplam Kanal", guild.channels.size, true) client.guilds.get(guild).channels.get(kanalid).send(embedw); }); client.on('guildDelete', guild => { const uzuldum = new Discord.RichEmbed() .setTitle('Beni Sunucundan Attığına Üzüldüm') .setDescription('Lütfen Beni Neden Attığını v!bug Olarak Açıklar Mısın?') .addField("Beni Geri Eklemek İstersen", `[Buraya Tıklayabilirsin](https://bit.ly/2QrM7w6)`) .addField(`${ayarlar.botadı} BOT Ekibi Olarak`, `Hepimiz Üzüldük Keşke Atmasaydın, Tabiki Geri Ekleyebilirsin TET Sâma BOT Ekibi Sunar..`) guild.owner.send(uzuldum) }); client.on("message", async message => { if(message.content.startsWith(prefix)) return; if(message.author.bot) return; var id = message.author.id; var gid = message.guild.id; var xp = await db.fetch(`xp_${id}_${gid}`); var lvl = await db.fetch(`lvl_${id}_${gid}`); var xpToLvl = await db.fetch(`xpToLvl_${id}_${gid}`); if(!lvl) { db.set(`xp_${id}_${gid}`, 5); db.set(`lvl_${id}_${gid}`, 1); db.set(`xpToLvl_${id}_${gid}`, 100); } else { var random = Math.random() * (8 - 3) + 3; db.add(`xp_${id}_${gid}`, random.toFixed()); console.log(xp); if(xp > xpToLvl) { db.add(`lvl_${id}_${gid}`, 1); db.add(`xpToLvl_${id}_${gid}`, await db.fetch(`lvl_${id}_${gid}`) * 100); var lvl = await db.fetch(`lvl_${id}_${gid}`); message.channel.send("Tebrikler, " + message.author + ". Seviye atladın! Yeni seviyen: **" + lvl + "**"); var role = message.guild.roles.get(await db.fetch(`role_${gid}_${lvl}seviye`)); if(!role) return; else { message.member.addRole(role); message.channel.send("Tebrikler! **" + lvl + "** seviye olarak @" + role.name + " rolünü kazandınız."); } } } }); client.on('message', async (message, member) => { let ke = await db.fetch(`kufur_${message.guild.id}`) if (ke === "kapali" || ke === undefined || ke === null){ return; } else if (ke === "acik") { 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"] if (küfür.some(word => message.content.includes(word))){ if (!message.member.hasPermission("BAN_MEMBERS")) { message.delete(); const embed = new Discord.RichEmbed() .setTitle("Bu Sunucuda Küfür Yasaklanmış") .setDescription(`Lütfen Bir Daha Küfür Etme. Aksi Takdirde Sunucudan Atılabilirsin`) .setFooter("CatBOT") .setTimestamp() .setColor("RANDOM") message.channel.send(embed) } } } }) client.on('message', async (message, member) => { let ke = await db.fetch(`reklam_${message.guild.id}`) if (ke === "kapali" || ke === undefined || ke === null){ return; } else if (ke === "acik") { let reklam = ["discord.gg", "bit.ly", "http", "discord.gg/", "https", ".org", ".com", ".cf", ".tk", ".xyz", "www."] if (reklam.some(word => message.content.includes(word))){ if (!message.member.hasPermission("BAN_MEMBERS")) { message.delete(); const embed = new Discord.RichEmbed() .setTitle("Bu Sunucuda Reklam Yasaklanmış") .setDescription(`Bir Daha Reklam Yaparsan Atılabilir Veya Banlanabilirsin!`) .setFooter(`${ayarlar.botadı}`) .setTimestamp() .setColor("RANDOM") message.channel.send(embed) } } } }) const { GOOGLE_API_KEY } = require('./ayarlar.json'); const youtube = new YouTube(GOOGLE_API_KEY) client.on('message', async msg => { if (msg.author.bot) return undefined; if (!msg.content.startsWith(prefix)) return undefined; const args = msg.content.split(' '); const searchString = args.slice(1).join(' '); const url = args[ if (command === 'çal') { const voiceChannel = msg.member.voiceChannel; if (!voiceChannel) return msg.channel.sendEmbed(new Discord.RichEmbed() .setColor('RANDOM') .setTimestamp() .setTitle("Şarkı Başlatılamıyor") .setDescription(`**Lütfen Bir Sesli Kanala Giriş Yapınız** Aksi Takdirde Müzik Başlatılamayacak..`) .setFooter(`${ayarlar.botadı}`)); const permissions = voiceChannel.permissionsFor(msg.client.user); if (!permissions.has('CONNECT')) { return msg.channel.sendEmbed(new Discord.RichEmbed() .setColor('RANDOM') .setTitle('Şarkı Başlatılamıyor') .setDescription("**Lütfen Yetki Veriniz** Aksi Takdirde Müzik Başlatılamayacak.") .setTimestamp() .setFooter(`${ayarlar.botadı}`)); } if (!permissions.has('SPEAK')) { return msg.channel.sendEmbed(new Discord.RichEmbed() .setColor('RANDOM') .setTitle('Şarkı başlatılamıyor.') .setDescription('**Lütfen mikrofonumu açınız**. Aksi Takdirde Müzik Başlatılamayacak.') .setTimestamp() .setFooter(`${ayarlar.botadı}`)); } if (url.match(/^https?:\/\/(www.youtube.com|youtube.com)\/playlist(.*)$/)) { const playlist = await youtube.getPlaylist(url); const videos = await playlist.getVideos(); for (const video of Object.values(videos)) { const video2 = await youtube.getVideoByID(video.id); // eslint-disable-line no-await-in-loop await handleVideo(video2, msg, voiceChannel, true); // eslint-disable-line no-await-in-loop } return msg.channel.sendEmbed(new Discord.RichEmbed) .setTitle(`**? | Oynatma Listesi: **${playlist.title}** Kuyruğa Eklendi!**`) } else { try { var video = await youtube.getVideo(url); } catch (error) { try { var videos = await youtube.searchVideos(searchString, 10); let index = 0; msg.channel.sendEmbed(new Discord.RichEmbed() .setTitle(`${ayarlar.botadı} | Şarkı Seçimi`) .setAuthor(`${msg.author.tag}`, msg.author.avatarURL) .setDescription(`${videos.map(video2 => `**${++index} -** ${video2.title}`).join('\n')}`) .setFooter('Lütfen 1-10 arasında bir rakam seçiniz 10 saniye içinde liste iptal edilecektir.') .setTimestamp() .setColor('RANDOM')); try { var response = await msg.channel.awaitMessages(msg2 => msg2.content > 0 && msg2.content < 11, { maxMatches: 1, time: 10000, errors: ['time'] }); } catch (err) { console.error(err); return msg.channel.sendEmbed(new Discord.RichEmbed() .setColor('RANDOM') .setTitle('Seçim İptal Edilmiştir.') .setDescription("Lütfen Tekrar Deneyiniz Bu sefer Seçiminizi 10 saniyede Yapınız Aksi Takdirde Seçim Yine İptal Edilecektir") .setTimestamp() .setFooter(`${ayarlar.botadı}`)); } const videoIndex = parseInt(response.first().content); var video = await youtube.getVideoByID(videos[videoIndex - 1].id); } catch (err) { console.error(err); return msg.channel.sendEmbed(new Discord.RichEmbed() .setFooter(`${ayarlar.botadı}`) .setTimestamp() .setColor('RANDOM') .setTitle('Aradım Fakat Hiç Bir Sonuç Çıkmadı') .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.`)); } } return handleVideo(video, msg, voiceChannel); } } else if (command === 'atla') { if (!msg.member.voiceChannel) if (!msg.member.voiceChannel) return msg.channel.sendEmbed(new Discord.RichEmbed() .setColor('RANDOM') .setDescription('Lütfen öncelikle sesli bir kanala katılınız. Ve şarkı açınız') .setTitle("Hiç Bir Şarkı Atlatılamadı") .setFooter(`${ayarlar.botadı}`) .setTimestamp()); if (!serverQueue) return msg.channel.sendEmbed(new Discord.RichEmbed() .setColor('RANDOM') .setTitle('Hiç Bir Müzik Atlatılamadı') .setFooter(`${ayarlar.botadı}`) .setTimestamp() .setDescription(`Lütfen Önceliikle Sesli Bir Kanala Katılınız Ve Şarkı açınız`)); serverQueue.connection.dispatcher.end('Müzik Başarıyla Atlatıldı'); return undefined; } else if (command === 'sonlandır') { if (!msg.member.voiceChannel) if (!msg.member.voiceChannel) return msg.channel.sendEmbed(new Discord.RichEmbed() .setColor('RANDOM') .setDescription('Lütfen öncelikle sesli bir kanala katılınız.') .setTitle("Şarkı Sonlandırılamdı") .setFooter(`${ayarlar.botadı}`) .setTimestamp()); if (!serverQueue) return msg.channel.sendEmbed(new Discord.RichEmbed() .setColor('RANDOM') .setTitle("Şarkı Durdurulamadı") .setTimestamp() .setFooter(`${ayarlar.botadı}`) .setDescription('Çalınan Şarkı Bulunamadı.')); msg.channel.send(`:stop_button: **${serverQueue.songs[0].title}** Adlı Müzik Durduruldu`); serverQueue.songs = []; serverQueue.connection.dispatcher.end('Müzik Bitti'); return undefined; } else if (command === 'ses') { if (!msg.member.voiceChannel) if (!msg.member.voiceChannel) return msg.channel.sendEmbed(new Discord.RichEmbed() .setColor('RANDOM') .setTitle("Ses Seviyesi Bulunamadı") .setFooter(`${ayarlar.botadı}`) .setTimestamp() .setDescription('Lütfen öncelikle sesli bir kanala katılınız. Ondan Sonra Da Şarkı açıp Bu Komutu Kullanabilirsiniz')); if (!serverQueue) return msg.channel.sendEmbed(new Discord.RichEmbed() .setColor('RANDOM') .setTimestamp() .setTitle("Ses Seviyesi Bulunamadı") .setFooter(`${ayarlar.botadı}`) .setDescription('Hiç Bir Müzik Çalmamakta')); if (!args[1]) return msg.channel.sendEmbed(new Discord.RichEmbed() .setTitle("Ses Seviyesi") .setDescription(`Şuanki Ses Seviyesi: **${serverQueue.volume}**`) .setFooter(`${ayarlar.botadı}`) .setTimestamp() .setColor('RANDOM')) serverQueue.volume = args[1]; serverQueue.connection.dispatcher.setVolumeLogarithmic(args[1] / 5); return msg.channel.sendEmbed(new Discord.RichEmbed() .setTitle("Lütfen Kulak Sağlığınız İçin Fazla Sesli Açmayın") .setDescription(`:hammer: Ses Seviyesi Başarıyla Ayarlanıyor: **${args[1]}**`) .setFooter(`${ayarlar.botadı}`) .setTimestamp() .setColor('RANDOM')); } else if (command === 'çalan') { if (!serverQueue) return msg.channel.sendEmbed(new Discord.RichEmbed() .setTitle("Çalan Müzik Bulunmamakta") .setFooter(`${ayarlar.botadı}`) .setTimestamp() .setDescription("Eğer Şimdi Müzik açarsanız Sıra Beklemiceksiniz") .setColor('RANDOM')); return msg.channel.sendEmbed(new Discord.RichEmbed() .setColor('RANDOM') .setTitle(`${ayarlar.botadı} | Çalan Müzik`) .addField('Başlık', `[${serverQueue.songs[0].title}](${serverQueue.songs[0].url})`, true) .addField("Süre", `${serverQueue.songs[0].durationm}:${serverQueue.songs[0].durations}`, true)) } else if (command === 'kuyruk') { let index = 0; if (!serverQueue) return msg.channel.sendEmbed(new Discord.RichEmbed() .setTitle("Sırada Müzik Bulunmamakta") .setDescription("Eğer Şimdi Müzik Açarsanız Kimseyi Beklemiceksiniz.") .setFooter(`${ayarlar.botadı}`) .setTimestamp() .setColor('RANDOM')); return msg.channel.sendEmbed(new Discord.RichEmbed() .setColor('RANDOM') .setTimestamp() .setFooter(`${ayarlar.botadı}`) .setTitle('Şarkı Kuyruğu') .setDescription(`${serverQueue.songs.map(song => `**${++index} -** ${song.title}`).join('\n')}`)) .addField('Şu anda çalınan: ' + `${serverQueue.songs[0].title}`); } else if (command === 'duraklat') { if (serverQueue && serverQueue.playing) { serverQueue.playing = false; serverQueue.connection.dispatcher.pause(); return msg.channel.sendEmbed(new Discord.RichEmbed() .setDescription(`Eğer Devam Ettirmek isterseniz ${ayarlar.prefix}devam Yazmanız Yeterlidir.`) .setTitle("Şarkı Başarıyla Duraklatıldı") .setFooter(`${ayarlar.botadı}`) .setTimestamp() .setColor('RANDOM')); } return msg.channel.send('Çalan Müzik Bulunmamakta'); } else if (command === 'devam') { if (serverQueue && !serverQueue.playing) { serverQueue.playing = true; serverQueue.connection.dispatcher.resume(); return msg.channel.sendEmbed(new Discord.RichEmbed() .setTitle('Şarkının Keyfini Çıkar') .setDescription("Başarıyla Müzik devam ediyor.") .setFooter(`${ayarlar.botadı}`) .setTimestamp() .setColor('RANDOM')); } return msg.channel.sendEmbed(new Discord.RichEmbed() .setTitle("Çalan Müzik Bulunmamakta.") .setDescription("Lütfen Bir Müzik açınız.") .setFooter(`${ayarlar.botadı}`) .setTimestamp() .setColor('RANDOM')); } return undefined; }); async function handleVideo(video, msg, voiceChannel, playlist = false) { const serverQueue = queue.get(msg.guild.id); const song = { id: video.id, title: video.title, url: `https://www.youtube.com/watch?v=${video.id}`, durationh: video.duration.hours, durationm: video.duration.minutes, durations: video.duration.seconds, zg: video.raw.snippet.channelId, best: video.channel.title, views: video.raw.views, }; if (!serverQueue) { const queueConstruct = { textChannel: msg.channel, voiceChannel: voiceChannel, connection: null, songs: [], volume: 5, playing: true }; queue.set(msg.guild.id, queueConstruct); queueConstruct.songs.push(song); try { var connection = await voiceChannel.join(); queueConstruct.connection = connection; play(msg.guild, queueConstruct.songs[0]); } catch (error) { console.error(`:warning: **Şarkı Sisteminde Problem Var Hata Nedeni: ${error}**`); queue.delete(msg.guild.id); return msg.channel.sendEmbed(new Discord.RichEmbed() .setTitle(`:warning: **Şarkı Sisteminde Problem Var ${error}**`) .setDescription(`Lütfen Daha Sonra Tekrar Deneyin Olmazsa ${error}'u Şu şekilde şikayet ediniz ${ayarlar.prefix}bug ${error}.`) .setFooter("Şikayet Ettiyseniz Sorununuz En Kısa zamanda Çözülecektir") .setTimestampl() .setColor('RANDOM')) } } else { serverQueue.songs.push(song); console.log(serverQueue.songs); if (playlist) return undefined; return msg.channel.sendEmbed(new Discord.RichEmbed() .setTitle(`:arrow_heading_up: **${song.title}** Adlı Müzik Kuyruğa Eklendi!`) .setDescription('Şarkınız Sizden Önceki Şarkılar Bittiğinde Başlayacaktır') .setFooter(`${ayarlar.botadı}`) .setTimestamp() .setColor('RANDOM')) } return undefined; } function play(guild, song) { const serverQueue = queue.get(guild.id); if (!song) { serverQueue.voiceChannel.leave(); queue.delete(guild.id); return; } console.log(serverQueue.songs); const dispatcher = serverQueue.connection.playStream(ytdl(song.url)) .on('end', reason => { if (reason === '**Yayın Akış Hızı Yeterli Değil.**') console.log('Müzik Bitti.'); else console.log(reason); serverQueue.songs.shift(); play(guild, serverQueue.songs[0]); }) .on('error', error => console.error(error)); dispatcher.setVolumeLogarithmic(serverQueue.volume / 5); serverQueue.textChannel.sendEmbed(new Discord.RichEmbed() .setTitle(`${ayarlar.botadı} | :microphone: Müzik Başladı`) .addField('\nBaşlık', `[${song.title}](${song.url})`, true) .addField("\nSes Seviyesi", `${serverQueue.volume}%`, true) .addField("Süre", `${song.durationm}:${song.durations}`, true) .addField("Video ID", `${song.id}`, true) .addField("Kanal ID", `${song.zg}`, true) .addField("Kanal İsmi", `${song.best}`, true) .addField("Video Linki", `${song.url}`, true) .setFooter(`${ayarlar.botadı}`) .setTimestamp() .setColor("RANDOM")) } client.on("guildMemberAdd", async member => { let kanal = await db.fetch(`otok_${member.guild.id}`) let rol = await db.fetch(`otorol_${member.guild.id}`) let mesaj = db.fetch(`otomesaj_${member.guild.id}`) if(!kanal) return if(!mesaj) { client.channels.get(kanal).send(':loudspeaker: :inbox_tray: Otomatik Rol Verildi Seninle Beraber `'+member.guild.memberCount+'` Kişiyiz! Hoşgeldin! `'+member.user.username+'`') member.addRole(rol) return } if(mesaj) { 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}`) member.addRole(rol) client.channels.get(kanal).send(mesajs) } }); client.login(ayarlar.token);