Sıfır deneyimden ileri seviyeye — Discord.js v14 ile bot geliştirmenin tüm inceliklerini bu kapsamlı rehberde bulacaksınız.
Discord, dünya genelinde 500 milyondan fazla kullanıcıya sahip en popüler oyun ve topluluk iletişim platformudur. Kendi Discord botunuzu yazmak hem eğlenceli hem de son derece işlevsel bir beceridir: sunucunuzu otomatize edebilir, mini oyunlar kurabilir, kullanıcıları karşılayabilir ve çok daha fazlasını yapabilirsiniz.
1. Neden Discord Bot Yazmalısınız?
Pek çok geliştirici Discord botlarını yalnızca "müzik çalmak" veya "kullanıcı banlamak" gibi basit işlevler için düşünür. Ancak gerçek potansiyel çok daha büyük:
- Otomasyon: Tekrarlayan moderasyon görevlerini otomatikleştirin.
- Entegrasyon: Supabase, MongoDB veya kendi API'nize bağlanarak gerçek zamanlı veri sunun.
- Topluluk Yönetimi: Seviye sistemi, ödül mekanizmaları, hoş geldin mesajları.
- Portföy: İşvereninize gösterebileceğiniz somut bir proje.
2. Gereksinimler ve Kurulum
Başlamadan önce bilgisayarınızda şunların yüklü olması gerekiyor:
- Node.js v18+ (nodejs.org adresinden indirin)
- VS Code veya herhangi bir kod editörü
- Discord hesabı ve Developer Portal erişimi
Kurulum adımları:
# Yeni proje klasörü oluştur
mkdir discord-botum && cd discord-botum
# package.json oluştur
npm init -y
# Gerekli paketleri kur
npm install discord.js dotenv
# Geliştirme için nodemon (opsiyonel)
npm install --save-dev nodemon
3. Discord Developer Portal'da Bot Oluşturma
discord.com/developers/applications adresine gidin ve şu adımları izleyin:
- "New Application" butonuna tıklayın ve botunuza bir isim verin.
- Sol menüden "Bot" sekmesine geçin.
- "Reset Token" ile token alın ve güvenli saklayın.
- "Privileged Gateway Intents" bölümünden Message Content Intent ve Server Members Intent'i aktif edin.
- OAuth2 > URL Generator ile botu sunucunuza ekleyin.
4. İlk Botunuzu Yazmak
Proje klasörünüzde .env dosyası oluşturun:
DISCORD_TOKEN=buraya_tokeninizi_yapistirin
CLIENT_ID=buraya_bot_id_yapistirin
Şimdi index.js dosyanızı oluşturun:
require('dotenv').config();
const { Client, GatewayIntentBits, Events } = require('discord.js');
const client = new Client({
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMessages,
GatewayIntentBits.MessageContent,
GatewayIntentBits.GuildMembers,
],
});
client.once(Events.ClientReady, (c) => {
console.log('Bot hazir! Giris yapan: ' + c.user.tag);
});
// Mesaj dinleyici
client.on(Events.MessageCreate, (message) => {
if (message.author.bot) return; // Bot mesajlarını yoksay
if (message.content === '!ping') {
message.reply('Pong! ' + client.ws.ping + 'ms');
}
if (message.content === '!merhaba') {
message.reply('Merhaba ' + message.author.username + '! Nasılsın?');
}
});
client.login(process.env.DISCORD_TOKEN);
5. Slash Komutları ile Profesyonellik
Modern Discord botları ünlem işareti (!) yerine Slash (/) komutlarını kullanır. Bu, kullanıcı deneyimini büyük ölçüde iyileştirir çünkü tüm komutlar otomatik tamamlamayla listelenir.
const { SlashCommandBuilder } = require('discord.js');
const pingKomutu = {
data: new SlashCommandBuilder()
.setName('ping')
.setDescription('Botun gecikmesini gösterir'),
async execute(interaction) {
const gecikme = interaction.client.ws.ping;
await interaction.reply({
content: 'Pong! Gecikme: ' + gecikme + 'ms',
ephemeral: false // Herkes görebilir
});
},
};
6. Embed Mesajlar ile Şık Görünüm
Ham metin yerine embed mesajlar kullanmak botunuzu çok daha profesyonel gösterir:
const { EmbedBuilder } = require('discord.js');
const embed = new EmbedBuilder()
.setTitle('CodeMareFi Bot')
.setDescription('Discord.js v14 ile geliştirildi!')
.setColor(0xe60000)
.addFields(
{ name: 'Sunucu Sayısı', value: client.guilds.cache.size.toString(), inline: true },
{ name: 'Gecikme', value: client.ws.ping + 'ms', inline: true }
)
.setTimestamp()
.setFooter({ text: 'CodeMareFi' });
interaction.reply({ embeds: [embed] });
7. Botu 7/24 Çalıştırmak
Botunuzu lokal bilgisayarınızda çalıştırmak yerine bir sunucuda barındırmanız gerekir. En popüler seçenekler:
Discord botları için özel, 100MB ücretsiz RAM.
GitHub entegrasyonu, 512MB RAM ücretsiz.
Hızlı deploy, aylık 5$ kredi ücretsiz.
Discord bot geliştirmek, JavaScript öğrenenler için harika bir pratik alanıdır. Küçük bir bot ile başlayın, her gün yeni bir özellik ekleyin ve zamanla gerçek anlamda güçlü araçlar oluşturun. Sitemizdeki diğer Discord bot rehberlerini de incelemeyi unutmayın!
