Konu Değerlendirmesi:
  • 0 Oy(lar) - 0 Ortalama
  • 1
  • 2
  • 3
  • 4
  • 5
Discord Botu Nasıl Yapılır? (Python + discord.py) - 2026 Güncel Detaylı Rehber
#1
Merhaba arkadaşlar,
Bu rehberde sıfırdan Discord Botu yapmayı, en güncel discord.py 2.7.1 sürümüyle anlatacağım. Slash komutlu, modern ve stabil bir bot oluşturacağız.
Ne Öğreneceksiniz?
  • Bot hesabı oluşturma
  • Temel bot (on_ready + mesaj cevabı)
  • Slash komutları (/ping, /selam)
  • .env ile token güvenliği
  • 7/24 çalıştırma yöntemleri

1. Gereksinimler
  • Python 3.10+ (tercihen 3.12) → python.org
  • Bir metin editörü (VS Code önerilir)
  • Discord hesabı

2. Discord Developer Portal’da Bot Oluşturma
  1. https://discord.com/developers/applications adresine gidin ve giriş yapın.
  2. Sağ üstte New Application → Botunuza isim verin → Create.
  3. Sol menüden Bot sekmesine tıklayın → Add Bot → Onaylayın.
  4. Token bölümünde Reset Token → Token’i kopyalayın (saklayın, kimseye göstermeyin!).
  5. Privileged Gateway Intents altında şunların hepsini ON yapın:
    • Presence Intent
    • Server Members Intent
    • Message Content Intent
  6. Sol menüden OAuth2 → URL Generator’a gidin:
    • Scopes: bot ve applications.commands
    • Bot Permissions: İhtiyacınıza göre seçin (başlangıç için Administrator verebilirsiniz)
    • Oluşan linki kopyalayın ve tarayıcıya yapıştırıp botu kendi sunucunuza ekleyin.

3. Proje Klasörü Oluşturma ve Kurulum
Bash

Kod:
# Masaüstünde klasör oluşturun
mkdir my-discord-bot
cd my-discord-bot
# Sanal ortam (önerilir)
python -m venv venv
# Windows'ta aktif etme:
venv\Scripts\activate
# Linux/Mac:
# source venv/bin/activate



discord.py ve diğer paketleri kurun:
Bash

Kod:
pip install discord.py python-dotenv




4. İlk Bot Kodumuz (main.py)
Proje klasöründe main.py oluşturun ve şu kodu yapıştırın:
Python

Kod:
import discord
from discord import app_commands
import os
from dotenv import load_dotenv
load_dotenv()  # .env dosyasını yükle
TOKEN = os.getenv('DISCORD_TOKEN')
intents = discord.Intents.default()
intents.message_content = True
intents.members = True
class MyBot(discord.Client):
    def __init__(self):
        super().__init__(intents=intents)
        self.tree = app_commands.CommandTree(self)
    async def setup_hook(self):
        await self.tree.sync()  # Slash komutlarını senkronize et
        print("Slash komutları senkronize edildi!")
bot = MyBot()
@bot.event
async def on_ready():
    print(f'✅ {bot.user} olarak giriş yapıldı!')
    await bot.change_presence(activity=discord.Game("/yardim"))
# Basit Slash Komut Örneği
@bot.tree.command(name="ping", description="Botun gecikmesini gösterir")
async def ping(interaction: discord.Interaction):
    latency = round(bot.latency * 1000)
    await interaction.response.send_message(f"🏓 Pong! `{latency}ms`")
# Selamlaşma komutu
@bot.tree.command(name="selam", description="Bota selam verir")
async def selam(interaction: discord.Interaction):
    await interaction.response.send_message(f"Merhaba {interaction.user.mention}! 👋")
bot.run(TOKEN)




5. Token’i Güvenli Şekilde Saklama (.env)
Aynı klasöre .env dosyası oluşturun ve içine şunu yazın:
env

Kod:
DISCORD_TOKEN=buraya_tokeninizi_yapistirin



Not: Bu dosyayı asla GitHub’a yüklemeyin! (.gitignore oluşturun)

6. Botu Çalıştırma
Bash

Kod:
python main.py



Başarılı olursa konsolda “✅ Bot olarak giriş yapıldı!” yazısını göreceksiniz.

7. Ekstra Komutlar ve Özellikler
Embed’li Komut Örneği:
Python

Kod:
@bot.tree.command(name="bilgi", description="Bot hakkında bilgi")
async def bilgi(interaction: discord.Interaction):
    embed = discord.Embed(
        title="🤖 Benim Botum",
        description="2026 Güncel discord.py botu",
        color=0x00ff00
    )
    embed.add_field(name="Gecikme", value=f"{round(bot.latency*1000)}ms")
    embed.set_footer(text=f"Komut kullanan: {interaction.user}")
    await interaction.response.send_message(embed=embed)




8. 7/24 Çalıştırma Yöntemleri (Ücretsiz)
  • Railway.app (en kolay)
  • Replit + Uptime Robot
  • Render.com
  • Kendi VPS’iniz varsa screen veya pm2 ile

Ek İpuçları ve Sorun Giderme
  • Komutlar görünmüyorsa: Botu sunucudan atıp tekrar ekleyin veya /sync komutu yazın.
  • Message Content Intent hatası: Developer Portal’da intent’leri açtığınızdan emin olun.
  • Hata alırsanız: Konsoldaki hatayı buraya yazın, yardımcı olayım.
  • Botu daha profesyonel yapmak isterseniz: discord.ext.commands yerine app_commands (Slash) kullanın.

Bu rehberi forumunuzda doğrudan kullanabilirsiniz. İsterseniz devamını da yazarım:
  • Müzik botu (Lavalink)
  • Ticket sistemi
  • Leveling sistemi
  • Moderasyon komutları
Hangi özelliği eklememi istersiniz? Veya takıldığınız bir yer olursa hemen sorun!
Başarılar! Botunuzu kurduktan sonra davet linkinizi paylaşabilirsiniz 🚀
Juniorboss
Admin


Derin Platform Yönetimi
Bul
Yanıtla


Hızlı Erişim:


Bu Konuya Göz Atan Kullanıcılar: 1 Ziyaretçi(ler)