Discord Bot Geliştirme Rehberi
Discord bot geliştirmek, backend development dünyasına giriş için harika bir yol. Bu yazıda sıfırdan profesyonel bir Discord botu nasıl geliştirilir anlatacağım.
Neden Discord Bot?
- Gerçek kullanıcılar: Botunuz gerçek insanlar tarafından kullanılır
- Anında feedback: Değişiklikleri hemen test edebilirsiniz
- Geniş ekosistem: Discord.js çok güçlü bir kütüphane
Kurulum
Öncelikle gerekli paketleri yükleyelim:
npm init -y
npm install discord.js dotenv
Temel Bot Yapısı
const { Client, GatewayIntentBits } = require('discord.js');
require('dotenv').config();
const client = new Client({
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMessages,
GatewayIntentBits.MessageContent,
],
});
client.once('ready', () => {
console.log(`${client.user.tag} olarak giriş yapıldı!`);
});
client.login(process.env.DISCORD_TOKEN);
Slash Commands
Modern Discord botları slash command kullanmalı:
const { SlashCommandBuilder } = require('discord.js');
const pingCommand = new SlashCommandBuilder()
.setName('ping')
.setDescription('Botun gecikmesini gösterir');
// Command handler
client.on('interactionCreate', async (interaction) => {
if (!interaction.isChatInputCommand()) return;
if (interaction.commandName === 'ping') {
await interaction.reply(`Pong! ${client.ws.ping}ms`);
}
});
Event Handler Sistemi
Büyük projelerde event'leri ayrı dosyalarda tutmak önemli:
src/
├── events/
│ ├── ready.js
│ ├── messageCreate.js
│ └── interactionCreate.js
├── commands/
│ ├── ping.js
│ └── help.js
└── index.js
Best Practices
- Environment Variables: Token'ları asla kod içinde tutmayın
- Error Handling: Tüm async fonksiyonlarda try-catch kullanın
- Rate Limiting: API limitlerini aşmamaya dikkat edin
- Modüler Yapı: Command ve event handler kullanın
- Logging: Winston veya benzeri bir logger kullanın
Sonuç
Discord bot geliştirmek hem eğlenceli hem de öğretici. Bu rehberi takip ederek kendi profesyonel botunuzu oluşturabilirsiniz.
Sorularınız için Discord üzerinden bana ulaşabilirsiniz!