Discord sunucularının vazgeçilmezi olan müzik botlarını kendi ellerinizle kodlamak sandığınız kadar zor değil. Bu rehberde discord-player veya @discordjs/voice kütüphanelerini kullanarak modern ve kesintisiz bir müzik botu altyapısını nasıl kuracağınızı anlatıyoruz.
@discordjs/voice ile Ses Kanalına Bağlanma
Bir müzik botunun yapması gereken ilk şey kullanıcının bulunduğu ses kanalına katılmaktır. V14 ile ses bağlantıları tamamen ayrı bir modül üzerinden yönetilir.
// (c) CodeMareFi - codemarefi.com.tr
const { joinVoiceChannel } = require('@discordjs/voice');
async function connectToChannel(channel) {
const connection = joinVoiceChannel({
channelId: channel.id,
guildId: channel.guild.id,
adapterCreator: channel.guild.voiceAdapterCreator,
});
return connection;
}
Discord-Player Kullanımı (Tavsiye Edilen)
Manuel olarak ses akışlarını yönetmek (FFmpeg vb.) yorucu olabilir. Bunun yerine discord-player paketi ile YouTube, Spotify veya SoundCloud üzerinden şarkıları doğrudan oynatabilirsiniz. Üstelik sıraya ekleme (queue) sistemi dahili olarak gelir.
// Oynatma işlemini başlatma
const { Player } = require('discord-player');
const player = new Player(client);
// Slash komutu içinde
const track = await player.search(interaction.options.getString('sarki'), {
requestedBy: interaction.user
}).then(x => x.tracks[0]);
const queue = player.nodes.create(interaction.guild, {
metadata: interaction.channel
});
if (!queue.connection) await queue.connect(interaction.member.voice.channel);
await queue.node.play(track);
await interaction.reply(`🎶 Şarkı sıraya eklendi: **${track.title}**`);
Müzik botları sunucu tarafında yüksek CPU ve bant genişliği (bandwidth) tüketir. Discloud veya benzeri ücretsiz hosting servislerinde müzik botları genellikle takılmalara neden olur. Profesyonel bir müzik botu için mutlaka VDS (Sanal Sunucu) kiralamanız ve sunucunuza ffmpeg kurmanız tavsiye edilir.
