Başlıktan da anlaşılacağı üzere bu yazımda discord botunuz için tam full müzik kodlarını paylaşıyorum içerisinde sorunsuz bir şekilde yazılmıştır tabi bizim paylaştığımız hiç bir kodda sorun olmaz çünkü sorunsuz bir şekilde kod içerisinde oynama yapmadan kod çıkarmadan paylaşıyoruz. Şunu da belirtmek isterim bu kod yazılım tarihi 2018 yılıdır.
Kurulum için adımları izleyin:
- Kod projenizde botun ana dosyaları içerisine atılacaktır. Komut eklemeyi bilmiyorsan buradaki yazımızı okuyarak öğrenebilirsin.
- Komut içerisindeki gerekli yerleri kendinize göre düzenleyin.
- Modül olarak "simple-youtube-api" , "ytdl-core" eklemeniz gerekmekte.
//---Bu Kod botun ana dosyasına atılacaktır. //###CodeMareFi tarafından hazırlanmıştır - - - Ekleyen //###Sadista const YouTube = require('simple-youtube-api'); const ytdl = require('ytdl-core'); const youtube = new YouTube('AIzaSyCkT_L10rO_NixDHNjoAixUu45TVt0ES-s'); const queue = new Map(); client.on('message', async msg => { if (msg.author.bot) return undefined; const args = msg.content.split(' '); const searchString = args.slice(1).join(' '); const url = args[1] ? args[1].replace(/<(.+)>/g, '$1') : ''; const serverQueue = queue.get(msg.guild.id); let command = msg.content.toLowerCase().split(' ')[0]; if (command === 'çal') { const voiceChannel = msg.member.voiceChannel; if (!voiceChannel) return msg.channel.sendEmbed(new Discord.RichEmbed() .setColor('RANDOM') .setDescription('CodeMareFi ❎ | Lütfen Seli Bir Kanala Giriş Yapınız!')); const permissions = voiceChannel.permissionsFor(msg.client.user); if (!permissions.has('CONNECT')) { return msg.channel.sendEmbed(new Discord.RichEmbed() .setColor('RANDOM') .setTitle('CodeMareFi ❎ | Lütfen Seli Bir Kanala Giriş Yapınız!')); } if (!permissions.has('SPEAK')) { return msg.channel.sendEmbed(new Discord.RichEmbed() .setColor('RANDOM') .setTitle('CodeMareFi ❎ | Şarkıyı Çalamıyorum Bu Kanalda Konuşma Yetkim Yok!')); } 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(`CodeMareFi ✅** | **${playlist.title}** Adlı Şarkı 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('CodeMareFi Şarkı Seçimi') .setDescription(`${videos.map(video2 => `**${++index} -** ${video2.title}`).join('\n')}`) .setFooter('Lütfen 1-10 Arasında Bir Rakam Seçiniz 10 Saniye İçinde Liste İptal Edilecektir!') .setFooter('CodeMareFi Örnek Kullanım 1') .setColor('0x36393E')); msg.delete(5000) 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('0x36393E') .setDescription('CodeMareFi ❎ | **10 Saniye İçinde Şarkı Seçmediğiniz İçin seçim İptal Edilmiştir!**.')); } 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() .setColor('0x36393E') .setDescription('CodeMareFi ❎ | YouTubeda Böyle Bir Şarkı Yok !**')); } } return handleVideo(video, msg, voiceChannel); } } else if (command === '!!gir') { return new Promise((resolve, reject) => { const voiceChannel = msg.member.voiceChannel; if (!voiceChannel || voiceChannel.type !== 'voice') return msg.reply('Kanalda Kimse Olmadığından Çıkıyorum!'); voiceChannel.join().then(connection => resolve(connection)).catch(err => reject(err)); }); } else if (command === 'geç') { if (!msg.member.voiceChannel) if (!msg.member.voiceChannel) return msg.channel.sendEmbed(new Discord.RichEmbed() .setColor('RANDOM') .setDescription('CodeMareFi ❎ | Lütfen Seli Bir Kanala Giriş Yapınız!')); if (!serverQueue) return msg.channel.sendEmbed(new Discord.RichEmbed() .setColor('RANDOM') .setTitle('CodeMareFi ❎ **Şu An Zaten Şarkı Çalmıyorum!')); serverQueue.connection.dispatcher.end('**Sıradaki Şarkıya Geçildi!**'); return undefined; } else if (command === 'durdur') { if (!msg.member.voiceChannel) if (!msg.member.voiceChannel) return msg.channel.sendEmbed(new Discord.RichEmbed() .setColor('RANDOM') .setDescription('CodeMareFi ❎ | Lütfen Seli Bir Kanala Giriş Yapınız!')); if (!serverQueue) return msg.channel.sendEmbed(new Discord.RichEmbed() .setColor('RANDOM') .setTitle('CodeMareFi ❎ | Şu An Zaten Şarkı Çalmıyorum!')); msg.channel.send(`:stop_button: **${serverQueue.songs[0].title}** Adlı Şarkı Durduruldu`); serverQueue.songs = []; serverQueue.connection.dispatcher.end('**Şarkı Bitti**'); return undefined; } else if (command === 'ses') { if (!msg.member.voiceChannel) if (!msg.member.voiceChannel) return msg.channel.sendEmbed(new Discord.RichEmbed() .setColor('RANDOM') .setDescription('CodeMareFi ❎ | Lütfen Seli Bir Kanala Giriş Yapınız!')); if (!serverQueue) return msg.channel.sendEmbed(new Discord.RichEmbed() .setColor('RANDOM') .setTitle('CodeMareFi ❎ | Çalmayan Müziğin Sesine Bakamam')); if (!args[1]) return msg.channel.sendEmbed(new Discord.RichEmbed() .setTitle(`:loud_sound: Şuanki Ses Seviyesi: **${serverQueue.volume}**`) .setColor('RANDOM')) serverQueue.volume = args[1]; serverQueue.connection.dispatcher.setVolumeLogarithmic(args[1] / 5); return msg.channel.sendEmbed(new Discord.RichEmbed() .setTitle(`:loud_sound: Ses Seviyesi Ayarlanıyor: **${args[1]}**`) .setColor('RANDOM')); } else if (command === 'çalan') { if (!serverQueue) return msg.channel.sendEmbed(new Discord.RichEmbed() .setTitle("CodeMareFi ❎ | Şu An Şarkı Çalınmıyor!") .setColor('RANDOM')); return msg.channel.sendEmbed(new Discord.RichEmbed() .setColor('RANDOM') .setTitle("Çalan") .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 === 'sıra') { let index = 0; if (!serverQueue) return msg.channel.sendEmbed(new Discord.RichEmbed() .setTitle("CodeMareFi ❎ | **Şarkı Kuyruğunda Şarkı Bulunmamakta**") .setColor('RANDOM')); return msg.channel.sendEmbed(new Discord.RichEmbed() .setColor('RANDOM') .setTitle('CodeMareFi Ş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() .setTitle("**:pause_button: Şarkı Durduruldu!**") .setColor('RANDOM')); } return msg.channel.send('CodeMareFi ❎ | **Şarkı Çalmıyor Şu An**'); } else if (command === 'devam') { if (serverQueue && !serverQueue.playing) { serverQueue.playing = true; serverQueue.connection.dispatcher.resume(); return msg.channel.sendEmbed(new Discord.RichEmbed() .setTitle("**:arrow_forward: Şarkı Devam Ediyor!**") .setColor('RANDOM')); } return msg.channel.sendEmbed(new Discord.RichEmbed() .setTitle("**CodeMareFi ❎ | Şu An Şarkı Çalınmıyor!**") .setColor('RANDOM')); } return undefined; }); async function handleVideo(video, msg, voiceChannel, playlist = false) { const serverQueue = queue.get(msg.guild.id); console.log(video); 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, views: video.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(`CodeMareFi ❎ | **Şarkı Sisteminde Problem Var Hata Nedeni: ${error}**`); queue.delete(msg.guild.id); return msg.channel.sendEmbed(new Discord.RichEmbed() .setTitle(`CodeMareFi ❎ | **Şarkı Sisteminde Problem Var Hata Nedeni: ${error}**`) .setColor('RANDOM')) } } else { serverQueue.songs.push(song); console.log(serverQueue.songs); if (playlist) return undefined; return msg.channel.sendEmbed(new Discord.RichEmbed() .setTitle(`CodeMareFi ✅ | **${song.title}** Adlı Şarkı Kuyruğa Eklendi!`) .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 === 'CodeMareFi ❎ | **Yayın Akış Hızı Yeterli Değil.**') console.log('Şarkı 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("**$adis BOT🎙 Şarkı Başladı**",`https://i.hizliresim.com/RDm4EZ.png`) .setThumbnail(`https://i.ytimg.com/vi/${song.id}/default.jpg?width=80&height=60`) .addField('\nBaşlık', `[${song.title}](${song.url})`, true) .addField("\nSes Seviyesi", `${serverQueue.volume}%`, true) .addField("Süre", `${song.durationm}:${song.durations}`, true) .setColor('RANDOM')); }
Yorum Yap:
0 Hiç Yorum Yapılmamış İlk Yorumu Sen Yapmak İstermisin:
Yorum Yaparken:
* Yorumlarınızda Din , Dil , Irk , Cinsiyet , Küfür(Hakaret) ve Siyaset içerikli yorumlar onaylanmadığını hatırlatmak isterim.
* Yorumlarınızı anlaşılır bir dilde yazınız ve mümkünse detaylı bir şekilde açıklama yapınız.
* Yorum yaparken tavsiyemiz olarak yorum profilinizi google @gmail profilinizi seçerek yorum yapınız, ayrıca (anonim) veya Ad/Url gibi seçeneklerle de yorum yapabilirsiniz.
Konu ile ilgili olmayan sorularınız için ise Chat veya İletişim sayfalarını kullanın
Kullanmak istediğiniz emojileri kopyalayıp yorumda kullanabilirsiniz. CTRL + C
☝☺✊✋✌❤👀👄👎👍👌💓💔💕💖💗💘💝💞💟💢💣💤💥😀😁😂😃😄😅😆😇😈😉😊😋😌😍😎😏😐😑😒😓😔😕😖😗😘😙😚😛😜😝😞😟😠😡😢😣😤😥😦😧😨😩😪😫😬😭😮😯😰😱😲😳😴😵😶😷👐👤👥👦👦👧👨👩👳👴👵👿👾👽👻👅