İlk Discord botunuzu oluşturmak düşündüğünüzden daha kolay. Bir bilgisayar bilimi derecesine veya yıllarca süren programlama deneyimine ihtiyacınız yok. 2026'da, işlevsel bir bot oluşturmak ve dağıtmak, odaklanırsanız bir hafta sonu sürer.
Bu kılavuz size tüm süreç boyunca yol gösterir: botunuzu kaydetme, ilk komutunuzu yazma, yerel olarak test etme ve canlı olarak dağıtma. Sonunda, sunucunuzda çalışan bir botunuz olacak.
Bir Discord Botunun Ne Olduğunu Anlamak
Bir Discord botu, API aracılığıyla Discord'a bağlanan ve olaylara yanıt veren bir programdır: birisi bir komut yazdığında, bir mesaja tepki verdiğinde, sunucuya katıldığında vb.
Temel kavramlar:
- Uygulama ve Bot: "Uygulamanız" Discord Geliştirici Portalında kayıtlıdır. "Bot", bu uygulamayla ilişkili kullanıcı hesabıdır. Bir uygulamanın bir botu vardır.
- Token'lar: Botunuzun kimliğini doğrulayan gizli bir anahtar. Asla paylaşmayın. Botunuzun parolası gibidir.
- Niyetler: Botunuzun belirli olayları (mesajlar, tepkiler, üye durumu değişiklikleri vb.) görmesini sağlayan izinler. Yalnızca ihtiyacınız olanı etkinleştirirsiniz.
- Komutlar: Botlar komutlara yanıt verir. Modern botlar, önek komutları (
!komut) yerine eğik çizgi komutlarını (/komut) kullanır. Eğik çizgi komutları resmi olarak desteklenir ve önerilir. - Olaylar: Botunuz Discord olaylarını (mesaj gönderildi, tepki eklendi, üye katıldı) dinler ve bunlara tepki verir.
Adım 1: Botunuzu Discord Geliştirici Portalına Kaydedin
Botunuzun Discord sisteminde resmi olarak var olduğu yer burasıdır.
Süreç:
- Discord Geliştirici Portalına gidin
- Discord hesabınızla giriş yapın
- "Yeni Uygulama"ya tıklayın
- Adlandırın (örneğin, "İlk Botum")
- "Oluştur"a tıklayın
- Artık uygulama ayarlarınızdasınız
Şimdi bot kullanıcısını oluşturun:
- "Bot" bölümüne gidin (sol kenar çubuğu)
- "Bot Ekle"ye tıklayın
- Botun kullanıcı adının altında bir "TOKEN" düğmesi göreceksiniz
- Token'ı kopyalayın — botunuzun kimliğini bu şekilde doğrular. Bunu gizli tutun. Şifreleme olmadan asla herkese açık olarak paylaşmayın veya GitHub'a göndermeyin.
Bot ayarlarını yapılandırın:
- "Mesaj İçeriği Niyetini" etkinleştirin (botun mesaj metnini okumasını sağlar)
- "Sunucu Üyeleri Niyetini" etkinleştirin (botun sunucuda kimlerin olduğunu görmesini sağlar)
- "OAuth2" bölümüne gidin
Adım 2: Botunuzun Davet Bağlantısını Oluşturun
Botu bir sunucuya eklemek için özel bir davet bağlantısına ihtiyacınız var.
Geliştirici Portalında:
- "OAuth2" → "URL Oluşturucu"ya gidin
- "KAPSAMLAR" altında şunu işaretleyin:
bot - "İZİNLER" altında botunuzun neler yapabileceğini seçin:
Mesaj Gönder(herhangi bir bot için temel)Mesajları Yönet(moderasyon yapıyorsanız)Tepki Ekle(bot bir şeylere tepki veriyorsa)Bağlan+Konuş(müzik/ses botuysa)- Öğrenmek için yalnızca
Mesaj Gönder+Mesajları Oku'yu seçin (minimum uygulanabilir)
- Alttaki oluşturulan URL'yi kopyalayın
- Bu URL'yi sunucu sahipleriyle paylaşın (veya kendi test sunucunuza eklemek için kendiniz kullanın)
Kesinlikle gerekli olmadıkça Yönetici iznini kullanmayın. Aşırı izin vermek bir güvenlik riskidir.
Adım 3: Dilinizi ve Çerçevenizi Seçin
Yeni başlayanlar için iki ana seçenek:
JavaScript (discord.js)
Discord.js, en popüler Discord bot çerçevesidir. Büyük topluluk, tonlarca eğitim ve mükemmel belgeler.
Artıları:
- En büyük topluluk ve çevrimiçi en çok eğitim
- discord.js belgeleri mükemmel
- Node.js yaygın olarak kullanılır ve öğrenmesi kolaydır
- Çoğu barındırma platformuna kolay dağıtım
Eksileri:
- JavaScript'in tuhaflıkları var (async/await öğrenme eğrisi)
- Node.js, Python'a kıyasla bellek yükü ekler
Başlamak için:
- Node.js (v18+) sürümünü yükleyin
- Bir proje klasörü oluşturun
npm init -ynpm install discord.js
Python (discord.py)
Daha basit sözdizimi, yeni başlayanlar için harika, temelleri öğrenmek için mükemmel.
Artıları:
- Öğrenmesi en kolay sözdizimi
- Yeni başlayanlar için sezgisel
- discord.py belgeleri iyi
- Python her yerde kullanılıyor (veri bilimi, web, otomasyon)
Eksileri:
- discord.js'den daha küçük topluluk (ancak yine de büyük)
- JavaScript'ten daha az eğitim
- Biraz daha yüksek bellek kullanımı
Başlamak için:
- Python 3.10+ sürümünü yükleyin
- Bir proje klasörü oluşturun
pip install discord.py
Yeni başlayanlar için öneri: Python biliyorsanız discord.py'yi kullanın. JavaScript biliyorsanız discord.js'yi kullanın. İkisini de bilmiyorsanız, Python'u öğrenmek daha kolaydır, ancak JavaScript'in çevrimiçi daha fazla kaynağı vardır. Birini seçin ve kendinizi adayın.
Adım 4: İlk Botunuzu Yazın (Python Örneği)
İşte bir komuta yanıt veren Python'da minimum çalışan bir Discord botu:
import discord
from discord.ext import commands
# Komut öneki ve niyetlerle bot oluşturun
intents = discord.Intents.default()
intents.message_content = True
bot = commands.Bot(command_prefix='!', intents=intents)
@bot.event
async def on_ready():
print(f'{bot.user} Discord'a bağlandı!')
@bot.command(name='hello', help='Merhaba der')
async def hello(ctx):
await ctx.send(f'Merhaba {ctx.author.name}!')
@bot.command(name='ping', help='Pong ile yanıt verir')
async def ping(ctx):
await ctx.send('Pong!')
bot.run('YOUR_TOKEN_HERE')
Bunun yaptığı:
- Discord'a bağlanır
!hellove!pingkomutlarını dinler- Tetiklendiğinde bir mesajla yanıt verir
Çalıştırmak için:
'YOUR_TOKEN_HERE'ifadesini 1. Adımdaki gerçek token'ınızla değiştirinbot.pyolarak kaydedin- Çalıştırın:
python bot.py - Discord'da herhangi bir kanalda
!helloyazın - Bot yanıt verir: "Merhaba [Adınız]!"
Adım 5: Yerel Olarak Test Edin
Dağıtmadan önce botunuzu yerel olarak (bilgisayarınızda) test edin.
Bir test sunucusu kurun:
- Test için özel bir Discord sunucusu oluşturun
-
- Adımdaki davet bağlantısını kullanarak botunuzu ekleyin
- Bot kodunuzu yerel olarak çalıştırın
- Test sunucusunda komutlar yazın
- Terminalinizdeki hatalara dikkat edin; düzeltin
Yaygın hatalar:
- "Geçersiz token" — Token'ı yanlış kopyaladınız veya süresi doldu. Geliştirici Portalında yeniden oluşturun.
- "Eksik izinler" — Botun bu kanalda bu eylemi gerçekleştirme izni yok. İzinler ekleyin veya botun daha fazla hakka sahip olduğu bir kanal kullanın.
- "Niyetler etkinleştirilmedi" — Geliştirici Portalında niyetleri etkinleştirmeniz gerekir (Mesaj İçeriği Niyeti, Sunucu Üyeleri Niyeti vb.)
İyice test edin. Üretimde hataları olan bir bot utanç vericidir.
Adım 6: Daha Fazla Komut Ekleyin
Artık temelleri anladığınıza göre, daha fazla özellik ekleyin.
Python örneği — basit bir ekonomi komutu:
@bot.command(name='balance', help='Coin bakiyenizi kontrol edin')
async def balance(ctx):
# Gerçek bir botta bu bir veritabanını sorgular
# Şimdilik sadece sahte bir değer döndürün
await ctx.send(f'{ctx.author.name}, 100 coin'iniz var!')
@bot.command(name='roll', help='Zar atın (1-6)')
async def roll(ctx):
import random
result = random.randint(1, 6)
await ctx.send(f'{ctx.author.name} attı: **{result}**')
Her komut basit bir işlevdir. İstediğiniz kadar ekleyin.
Adım 7: Botunuzu Dağıtın
Yerel olarak barındırma test için işe yarar, ancak dizüstü bilgisayarınızı kapattığınızda botunuz durur. 7/24 çalışması için bir sunucuya dağıtın.
Ücretsiz Barındırma Seçenekleri
Replit (yeni başlayanlar için en kolayı):
- Replit.com adresine gidin
- Yeni Repl → Python (veya Node.js) oluşturun
- Bot kodunuzu yapıştırın
- "Çalıştır"a tıklayın
- Replit ücretsiz olarak barındırır (sınırlamalarla: etkinlikten sonra uyuyabilir)
Railway.app (modern, güvenilir):
- Railway.app adresine gidin
- GitHub'ı bağlayın (veya dosyaları doğrudan yükleyin)
- Yeni proje oluşturun → botunuzu seçin
- Railway otomatik olarak dağıtır
- Ücretsiz katman aylık 5 dolarlık kredi içerir
Glitch (Replit'e benzer):
- Glitch.com adresine gidin
- Yeni proje oluşturun
- Kodu yapıştırın
- Glitch çalışır durumda tutar (ücretsiz katman sınırları dahilinde)
Önemli: Token'ınızı GitHub'a gönderdiğiniz koda sabit kodlamayın. Ortam değişkenlerini kullanın:
import os
from dotenv import load_dotenv
load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')
bot.run(TOKEN)
Yerel olarak bir .env dosyası oluşturun (taahhüt edilmemesi için .gitignore'a ekleyin):
DISCORD_TOKEN=buraya_gercek_tokeniniz
Replit/Railway'de, token'ı platform ayarlarında gizli bir ortam değişkeni olarak ayarlayın (kodda değil).
Yaygın Başlangıç Hataları
Hata 1: Token'ı sabit kodlama Token'ınızı asla GitHub'a gönderdiğiniz koda koymayın. Sızdırılmış token'ları olan botlar anında tehlikeye girer. Ortam değişkenlerini kullanın.
Hata 2: Hataları işlememe Botunuz beklenmedik girdilerde çöker. Hata işleme ekleyin:
@bot.command()
async def divide(ctx, a: int, b: int):
try:
result = a / b
await ctx.send(result)
except ZeroDivisionError:
await ctx.send('Sıfıra bölünemez!')
except ValueError:
await ctx.send('Lütfen geçerli sayılar girin!')
Hata 3: Hız sınırlarına uymama Discord, mesajları ne kadar hızlı gönderebileceğinizi sınırlar. API'ye spam göndermeyin. Toplu işlemler arasında gecikmeler ekleyin.
Hata 4: Niyetleri görmezden gelme Birçok başlangıç botu, Geliştirici Portalında gerekli niyetleri etkinleştirmedikleri için başarısız olur. Dağıtmadan önce botunuzun ihtiyaç duyduğu niyetleri kontrol edin.
Hata 5: Çok iddialı kapsam İlk botunuzda bir ekonomi sistemi, moderasyon, müzik ve 50 komut oluşturmaya çalışmayın. 3-5 basit komutla başlayın. Rahat olduğunuzda genişletin.
Sonraki Adımlar
Artık temel bir botunuz olduğuna göre:
- İşlevselliği genişletin: Daha fazla komut ekleyin, verileri kalıcı hale getirmek için veritabanları kullanın, karmaşık mantık uygulayın
- Eğik çizgi komutlarını kullanın: Önek komutları yerine modern
/komutsözdizimi - Tepkiler ekleyin: Kullanıcıların düğmelere tıklamasına veya emojilerle tepki vermesine izin verin
- Bir veritabanı bağlayın: Kullanıcı verilerini, coin'leri, tercihleri saklayın (yeni başlayanlar için SQLite, ölçek için PostgreSQL)
- Topluluklara katılın: Discord bot geliştirici toplulukları (reddit.com/r/discordbots, Discord.js destek sunucusu) her sorunun cevabına sahiptir
Kaynaklar
- discord.js belgeleri: https://discord.js.org
- discord.py belgeleri: https://discordpy.readthedocs.io
- Discord API belgeleri: https://discord.com/developers/docs/intro
- YouTube eğitimleri: "[discord.js/discord.py] eğitimi" araması yapın — çok sayıda içerik
İlk Discord botunuz bir hafta sonu projesidir. İlk iyi Discord botunuz bir aylık uygulamadır. 1.000 sunucu tarafından kullanılan ilk botunuz aylar süren yineleme, özellik geliştirme ve topluluk oluşturmadır. Şimdi başlayın, sürekli olarak yineleyin ve çok fazla düşünmeyin.