Akif9748
Kilopat
- Katılım
- 19 Ocak 2020
- Mesajlar
- 4.083
- Makaleler
- 14
- Çözümler
- 54
Merhabalar, daha önce botun rastgele değer üretmesini sağlamıştık, bugün ise botumuzun müzik çalmasını sağlayacağız.
Gerekli modüller:
Ve bir de
Kodumuz:
nasıl çalışıyor?
1. çıkartılan modüle isim ve açıklama yazıyoruz: [Mesela bu şekilde yazarsanız, !dinle url, çalacaktır. (Yani prefix+orayayazılankelime+boşluk+Video linki)]
2. bu kısım özneldir, vereceği tepkileri belirliyoruz.
Şarkıyı durdurmak için:
Gerekli modüller:
JavaScript:
const Discord = require('discord.js');
//Discord.js.
const ytdl = require('ytdl-core');
//ytdl-core.
const opus = require('opusscript');
//opusscript
"npm i ytdl-core" ve "npm i opusscript" ile kurulabiliyor.
Ve bir de
ffmpeg
gerekecek. Eğer hala kurulu değil ise:işletim sisteminin Windows 64 Bit ise:https://github.com/BtbN/FFmpeg-Buil...-52/ffmpeg-N-100663-g71b82e4ffd-win64-gpl.zip indirin. Diğer Is'ler için: Download FFmpeg
Sonra bunun içindeki 3 exe olan klasörü bir yere çıkartalım.
Önerim benim yaptığımın aynısını yapmanız: Yani direkt C'nin içindeki ffmpeg klasörüne çıkamanız.
Sonra "gelişmiş sistem seçeneklerini" açın, oradan ortam değişkenlerine girin. X için kullanıcı değişkenleri bölümünün altında buluna Path'ye basın.
Oradan "yeni" ye basın. Sonra oraya klasörü açtığınız yeri yazın. Benim yaptığım gibi yaparsanız, direkt
Sonra aynısını sistem değişkenleri adı altındaki
Olup olmadığını test etmek için CMD'yi yönetici olarak çalıştırıyor, ve şunu yazıyoruz:
Böyle şeyler yazarsa tamam demektir:
Sonra bunun içindeki 3 exe olan klasörü bir yere çıkartalım.
Önerim benim yaptığımın aynısını yapmanız: Yani direkt C'nin içindeki ffmpeg klasörüne çıkamanız.
Sonra "gelişmiş sistem seçeneklerini" açın, oradan ortam değişkenlerine girin. X için kullanıcı değişkenleri bölümünün altında buluna Path'ye basın.
Oradan "yeni" ye basın. Sonra oraya klasörü açtığınız yeri yazın. Benim yaptığım gibi yaparsanız, direkt
C:\ffmpeg\
yazacaksınız.Sonra aynısını sistem değişkenleri adı altındaki
Path
'ya da yapıyoruz.Olup olmadığını test etmek için CMD'yi yönetici olarak çalıştırıyor, ve şunu yazıyoruz:
ffmpeg
Böyle şeyler yazarsa tamam demektir:
JavaScript:
const Discord = require('discord.js');
const ytdl = require('ytdl-core');
const opus = require('opusscript');
//gerekli moduller.
module.exports = {
name: "dinle",
description: "Müzik çalar",
//çalıştıran komutun ismi, ve açıklama.
async run (client, message, args, ops) {
if (!message.member.voice.channel) return message.channel.send('Müzik dinlemek için önce **ses kanalına** bağlanman gerekir.')
if (message.guild.me.voice.channel) return message.channel.send('Hali hazırda bot **birisi** için çalıyor.');
if (!args[0]) return message.channel.send('Lütfen şarkının **URL**sini gir.');
let validate = await ytdl.validateURL(args[0]);
if (!validate) return message.channel.send('Üzgünüm, bu geçerli bir **URL** değil.');
let info = await ytdl.getInfo(args[0]);
let connection = await message.member.voice.channel.join();
let dispatcher = await connection.play(ytdl(args[0], { filter: 'audioonly' }));
message.channel.send('Şimdi bir şarkı çalıyor.');
}
}
nasıl çalışıyor?
1. çıkartılan modüle isim ve açıklama yazıyoruz: [Mesela bu şekilde yazarsanız, !dinle url, çalacaktır. (Yani prefix+orayayazılankelime+boşluk+Video linki)]
JavaScript:
module.exports = {
name: "dinle",
description: "Müzik çalar",
2. bu kısım özneldir, vereceği tepkileri belirliyoruz.
JavaScript:
async run (client, message, args, ops) {
if (!message.member.voice.channel) return message.channel.send('Müzik dinlemek için önce **ses kanalına** bağlanman gerekir.') //ses kanalı uyarısı.
if (message.guild.me.voice.channel) return message.channel.send('Hali hazırda bot **birisi** için çalıyor.'); //Bot zaten şuan şarkı çalıyor!
if (!args[0]) return message.channel.send('Lütfen şarkının **URL**sini gir.'); //şarkının linkini girin.
let validate = await ytdl.validateURL(args[0]);
if (!validate) return message.channel.send('Üzgünüm, bu geçerli bir **URL** değil.'); //geçersiz link.
let info = await ytdl.getInfo(args[0]);
let connection = await message.member.voice.channel.join();
let dispatcher = await connection.play(ytdl(args[0], { filter: 'audioonly' }));
message.channel.send('Şimdi bir şarkı çalıyor.'); //Tebrikler, tüm bu zorluklara rağmen şarkı başarıyla çalmaya başladı!
Şarkıyı durdurmak için:
JavaScript:
if (msg.content.startsWith(prefix + "dur")) { //dur yerine yazdığınız şey şarkıyı durdurur:/
msg.guild.me.voice.channel.leave();
}