- Yasaklandı
- #1
const keytr = require('keytr.js');
Banlı Üye
Selamlar bugün sizlerle discord'un tamamen kodlanmış müzik botunu göstereceğim biraz değişik iş ama olduğu zaman efsane şekil aliyor neyse konumuza dönelim
Öncelikle klasör açiyoruz ve klasöre giriyoruz shift-sağ tık yapiyoruz bi komut sistemi veya powershell açılması açiyoruz sonra ''npm ytdl-core ve opusscript veya ''ytdl-core ve opusscript '' bu kodu yaziyoruz
Yapamiyanlar için
Bağlantıları görmek için lütfen
Giriş Yap
JavaScript:
const yt = require('ytdl-core');[/B]
[B][/B]
[B]let queue = {};[/B]
[B][/B]
[B]const commands = {[/B]
[B] 'çal': (msg) => {[/B]
[B] if (queue[msg.guild.id] === undefined) return msg.channel.send(`**İlk önce şarkı eklemelisin. Örneğin: ${prefix}ekle YOUTUBELİNKİ**`);[/B]
[B] if (!msg.guild.voiceConnection) return commands.join(msg).then(() => commands.play(msg));[/B]
[B] if (queue[msg.guild.id].playing) return msg.channel.send('**Zaten aynı şarkı çalınıyor.**');[/B]
[B] let dispatcher;[/B]
[B] queue[msg.guild.id].playing = true;[/B]
[B][/B]
[B] console.log(queue);[/B]
[B] (function play(song) {[/B]
[B] console.log(song);[/B]
[B] if (song === undefined) return msg.channel.send('**Sıradaki şarkılar bitti**').then(() => {[/B]
[B] queue[msg.guild.id].playing = false;[/B]
[B] msg.member.voiceChannel.leave();[/B]
[B] });[/B]
[B] msg.channel.send(`♪ Çalınan: **${song.title}** Ekleyen: **${song.requester}**`);[/B]
[B] dispatcher = msg.guild.voiceConnection.playStream(yt(song.url, { audioonly: true }), { passes : "1" });[/B]
[B] let collector = msg.channel.createCollector(m => m);[/B]
[B] collector.on('message', m => {[/B]
[B] if (m.content.startsWith(prefix + 'durdur')) {[/B]
[B] msg.channel.send('♪ **Durduruldu.**').then(() => {dispatcher.pause();});[/B]
[B] } else if (m.content.startsWith(prefix + 'devam')){[/B]
[B] msg.channel.send('♪ **Devam ediyor.**').then(() => {dispatcher.resume();});[/B]
[B] } else if (m.content.startsWith(prefix + 'geç')){[/B]
[B] msg.channel.send('♪ **Geçildi.**').then(() => {dispatcher.end();});[/B]
[B] } else if (m.content.startsWith(prefix + 'ses+')){[/B]
[B] if (Math.round(dispatcher.volume*50) >= 100) return msg.channel.send(`♪ **Ses: ${Math.round(dispatcher.volume*50)}%**`);[/B]
[B] dispatcher.setVolume(Math.min((dispatcher.volume*50 + (2*(m.content.split('+').length-1)))/50,2));[/B]
[B] msg.channel.send(`♪ **Ses: ${Math.round(dispatcher.volume*50)}%**`);[/B]
[B] } else if (m.content.startsWith(prefix + 'ses-')){[/B]
[B] if (Math.round(dispatcher.volume*50) <= 0) return msg.channel.send(`**♪ Ses: ${Math.round(dispatcher.volume*50)}%**`);[/B]
[B] dispatcher.setVolume(Math.max((dispatcher.volume*50 - (2*(m.content.split('-').length-1)))/50,0));[/B]
[B] msg.channel.send(`♪ **Ses: ${Math.round(dispatcher.volume*50)}%**`);[/B]
[B] } else if (m.content.startsWith(prefix + 'bilgi')){[/B]
[B] msg.channel.send(`♪ **Geçen zaman: ${Math.floor(dispatcher.time / 60000)}:${Math.floor((dispatcher.time % 60000)/1000) <10 ? '0'+Math.floor((dispatcher.time % 60000)/1000) : Math.floor((dispatcher.time % 60000)/1000)}**`);[/B]
[B] }[/B]
[B] });[/B]
[B] dispatcher.on('end', () => {[/B]
[B] collector.stop();[/B]
[B] play(queue[msg.guild.id].songs.shift());[/B]
[B] });[/B]
[B] dispatcher.on('error', (err) => {[/B]
[B] return msg.channel.send('error: ' + err).then(() => {[/B]
[B] collector.stop();[/B]
[B] play(queue[msg.guild.id].songs.shift());[/B]
[B] });[/B]
[B] });[/B]
[B] })(queue[msg.guild.id].songs.shift());[/B]
[B] },[/B]
[B] 'gir': (msg) => {[/B]
[B] return new Promise((resolve, reject) => {[/B]
[B] const voiceChannel = msg.member.voiceChannel;[/B]
[B] if (!voiceChannel || voiceChannel.type !== 'voice') return msg.reply('**İlk önce sesli kanala girmelisin.**');[/B]
[B] voiceChannel.join().then(connection => resolve(connection)).catch(err => reject(err));[/B]
[B] });[/B]
[B] },[/B]
[B] 'çık': (msg) => {[/B]
[B] return new Promise((resolve, reject) => {[/B]
[B] const voiceChannel = msg.member.voiceChannel;[/B]
[B] if (!voiceChannel || voiceChannel.type !== 'voice') return msg.reply('**İlk önce sesli kanalda olmalısın.**');[/B]
[B] voiceChannel.leave().then(connection => resolve(connection)).catch(err => reject(err));[/B]
[B] });[/B]
[B] },[/B]
[B]'ekle': (msg) => {[/B]
[B] let url = msg.content.split(' ')[1];[/B]
[B] if (url == '' || url === undefined) return msg.channel.send(`**Youtube linki koymalısın. Örneğin: ${prefix}ekle YOUTUBELİNKİ**`);[/B]
[B] yt.getInfo(url, (err, info) => {[/B]
[B] if(err) return msg.channel.send('**Link geçersiz:** ' + err);[/B]
[B] if (!queue.hasOwnProperty(msg.guild.id)) queue[msg.guild.id] = {}, queue[msg.guild.id].playing = false, queue[msg.guild.id].songs = [];[/B]
[B] queue[msg.guild.id].songs.push({url: url, title: info.title, requester: msg.author.username});[/B]
[B] msg.channel.send(`♪ **${info.title}** adlı şarkı sıraya eklenmiştir.`);[/B]
[B] });[/B]
[B] },[/B]
[B] 'sıra': (msg) => {[/B]
[B] if (queue[msg.guild.id] === undefined) return msg.channel.send(`Sunucunun eklenmiş şarkısı bulunmuyor. Eklemek için: ${prefix}ekle YOUTUBELİNKİ`);[/B]
[B] let tosend = [];[/B]
[B] queue[msg.guild.id].songs.forEach((song, i) => { tosend.push(`${i+1}. ${song.title} - Ekleyen: ${song.requester}`);});[/B]
[B] msg.channel.send(`♪ **${msg.guild.name} adlı sunucunun müzik kuyruğu:** Şu anda **${tosend.length}** adet şarkı var. ${(tosend.length > 15 ? '*[15 tanesi gösteriliyor]*' : '')}\n\`\`\`${tosend.slice(0,15).join('\n')}\`\`\``);[/B]
[B] },[/B]
[B]'müzik': (msg) => {[/B]
[B] let tosend = ['` ``xl', prefix + 'gir : "Sesli kanalınıza girer."', prefix + 'çık : "Sesli kanalınızdan çıkar."', prefix + 'ekle : "Yazdığınız Youtube linkini sıraya ekler."', prefix + 'sıra : "Sunucudaki müzik sırasını gösterir."', prefix + 'çal : "Sıradaki şarkıları çalar."', '', 'diğer komutlar:'.toUpperCase(), prefix + 'durdur : "Çalan şarkıyı durdurur."', prefix + 'devam : "Durdurulan şarkıyı devam ettirir."', prefix + 'geç : "Çalınan şarkıyı sıradaki şarkıya geçer."', prefix + 'bilgi : "Çalan şarkı hakkında bilgiler verir."', prefix + 'ses+(+++) : "Şarkı sesini yükseltir."', prefix + 'ses-(---) : "Şarkı sesini azaltır."', '`` `'];[/B]
[B] msg.channel.send(tosend.join('\n'));[/B]
[B] },[/B]
[B](düzenlendi)[/B]
[B] 'müzikler': (msg) => {[/B]
[B] msg.channel.send(`♪ Müzik çalınan sunucu sayısı: **${client.voiceConnections.size}**`)[/B]
[B] },[/B]
[B] 'davet': (msg) => {[/B]
[B] const embed = new Discord.RichEmbed()[/B]
[B] .setDescription(`Davet linkim için [üzerime tıkla.](https://discordapp.com/oauth2/authorize?client_id=${client.user.id}&permissions=2146958527&scope=bot)`)[/B]
[B] msg.channel.send(embed); [/B]
[B] }[/B]
[B]};[/B]
[B][/B]
[B]client.on('message', msg => {[/B]
[B] if (!msg.content.startsWith(prefix)) return;[/B]
[B] if (commands.hasOwnProperty(msg.content.toLowerCase().slice(prefix.length).split(' ')[0])) commands[msg.content.toLowerCase().slice(prefix.length).split(' ')[0]](msg);[/B]
[B]});[/B]
[B]
Sonra Komut sistemi veya powershell tamamlandığı zaman bir metin belgesi açiyoruz sonra farklı kaydet tüm dosyalar seçiyoruz ismini muzik.js yapiyoruz edit açip yukarıdaki kodu yapiştiriyoruz