Discord.jsNode.jsBot DevelopmentJavaScript

Discord Bot Geliştirme Rehberi - Başlangıçtan İleri Seviyeye

Node.js ve Discord.js kullanarak profesyonel bir Discord botu nasıl geliştirilir? Slash commands, event handling ve best practices.

cyr0nix20 Aralık 20242 min read

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

  1. Environment Variables: Token'ları asla kod içinde tutmayın
  2. Error Handling: Tüm async fonksiyonlarda try-catch kullanın
  3. Rate Limiting: API limitlerini aşmamaya dikkat edin
  4. Modüler Yapı: Command ve event handler kullanın
  5. 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!