Ö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.
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)]
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();
}
Kankam çok güzel konu açıkçası çok tebrik ettim çok rahat ve kolay ancak ffmpegi öyle kurmana gerek yoktu aslında NPM'i ffmpeg-static yapınca da sorun düzelir.
ayrıca ses kesilme sorunu oluyor bu sorunuda arkadaşlar şöyle çözücez kesinlikle bu sorun oluşuyor yaptıktan sonra eğer oluşmuyorsa ister yapın ister yapmayın kaliteli ve iyi gelmesini istiyor iseniz