Python ile Discord Botu Yapımı

image

14 Jun 2024

Bu yazımızda, Python kullanarak Discord botu nasıl oluşturulacağını adım adım inceleyeceğiz. Gerekli araçların kurulumundan başlayarak, botunuza komut ekleme ve barındırma süreçlerine kadar her detayı ele alacağız. 

Adım 1: Gerekli Araçların Kurulumu

Python ve Discord.py Kütüphanesi

  1. Python Kurulumu:
  2. Discord.py Kütüphanesi Kurulumu:
    • Discord API'ı ile etkileşim kurmak için discord.py kütüphanesini kullanacağız. Terminal veya komut istemcisine aşağıdaki komutu yazarak kurulumu gerçekleştirin:
    • pip install discord.py

Adım 2: Discord Geliştirici Portalında Bot Oluşturma

  1. Discord Geliştirici Portalı:
  2. Yeni Uygulama Oluşturma:
    • Sol üst köşedeki "New Application" butonuna tıklayın.
    • Uygulamanıza bir isim verin ve "Create" butonuna tıklayın.
  3. Bot Oluşturma:
    • Sol menüde "Bot" sekmesine tıklayın ve "Add Bot" butonuna tıklayın.
    • "Yes, do it!" butonuna tıklayarak botunuzu oluşturun.
  4. Bot Token'ını Alma:
    • "TOKEN" bölümündeki "Click to Reveal Token" butonuna tıklayarak bot token'ınızı kopyalayın. Bu token, botunuzun Discord API'ına erişimini sağlar.

Adım 3: Basit Bir Discord Botu Oluşturma

Botumuzun temel yapısını oluşturarak başlayalım. Aşağıdaki kodu bot.py adında bir Python dosyasına kaydedin:

import discord
from discord.ext import commands

intents = discord.Intents.default()
intents.messages = True
intents.message_content = True

bot = commands.Bot(command_prefix='!', intents=intents)

@bot.event
async def on_ready():
    print(f'Bot {bot.user} olarak giriş yaptı!')

@bot.command()
async def ping(ctx):
    await ctx.send('Pong!')

bot.run('YOUR_BOT_TOKEN')

Adım 4: Botunuzu Çalıştırma

  1. bot.py dosyasını kaydedin.
  2. Terminal veya komut istemcisini açın ve bot.py dosyasının bulunduğu dizine gidin.
  3. Aşağıdaki komutu çalıştırarak botunuzu başlatın:
  4. python bot.py
  5. Eğer her şey yolunda gittiyse, terminalde "Bot (bot adı) olarak giriş yaptı!" mesajını görmelisiniz.

Adım 5: Botunuza Yeni Komutlar Eklemek

Botunuza yeni komutlar eklemek oldukça basittir. Örneğin, botunuza bir "echo" komutu eklemek için:

@bot.command()
async def echo(ctx, *, message: str):
    await ctx.send(message)

Bu komut, kullanıcıların yazdıklarını botun tekrar etmesini sağlar.

Adım 6: Botunuzu Barındırma

Botunuzun sürekli çalışabilmesi için bir sunucuda barındırılması gerekir. Bunun için çeşitli seçenekler mevcuttur, örneğin Heroku, DigitalOcean veya AWS. Aşağıda, botunuzu Heroku'da nasıl barındırabileceğinizi açıklayacağım.

Heroku'da Bot Barındırma

  1. Heroku Hesabı Oluşturma:
    • Heroku sitesine gidin ve bir hesap oluşturun.
  2. Heroku CLI Kurulumu:
    • Heroku CLI'ı indirin ve kurun: Heroku CLI
  3. Git Reposu Oluşturma:
    • Botunuzun dosyalarının bulunduğu dizinde aşağıdaki komutları çalıştırarak bir Git reposu oluşturun:
    • git init
      git add .
      git commit -m "Initial commit"
  4. Heroku'da Yeni Bir Uygulama Oluşturma:
    • Aşağıdaki komutu kullanarak yeni bir Heroku uygulaması oluşturun:
    • heroku create your-app-name
  5. Gereksinimler Dosyasını Oluşturma:
    • Gereksinimler dosyasını (requirements.txt) oluşturun:
    • pip freeze > requirements.txt
  6. Procfile Dosyası Oluşturma:
    • Botunuzun nasıl çalıştırılacağını belirten bir Procfile oluşturun ve içine aşağıdaki satırı ekleyin:
    • worker: python bot.py
  7. Değişiklikleri Heroku'ya Gönderme:
    • Aşağıdaki komutları kullanarak değişikliklerinizi Heroku'ya gönderin:
    • git add .
      git commit -m "Deploy to Heroku"
      git push heroku master
  8. Bot Token'ınızı Ayarlama:
    • Bot token'ınızı Heroku config varsa ekleyin:
    • heroku config:set DISCORD_TOKEN=YOUR_BOT_TOKEN
  9. Botunuzu Başlatma:
    • Heroku uygulamanızın çalıştığından emin olun:
    • heroku ps:scale worker=1

Sonuç

Bu rehberde, Python kullanarak bir Discord botu oluşturmayı ve barındırmayı öğrendiniz. Botunuza ek komutlar ekleyerek ve farklı özellikler katarak daha da geliştirebilirsiniz. Discord.py kütüphanesi ve Python ile neler yapabileceğinizin sınırı yok!

Ek kaynaklar ve ileri seviye rehberler için Discord.py belgelerine göz atabilirsiniz. İyi eğlenceler!