Bu konuda Python ile Discord botunun nasıl yapılacağını anlatacağım. Python yüklü olarak varsayıyorum, eğer yüklü değilse bu bağlantıyı kullanarak yükleyebilirsiniz.
Adım 1: Gerekli Kütüphanelerin Kurulumu
Komut istemini/uçbirimi açıp pip install py-cord
komutunu girip yüklenmesini bekleyin.
[upl-image-preview url=/assets/files/2022-03-19/1647715312-494965-image.png]
py-cord, discord.py'nin kaynak kodu üzerinden geliştirilen bir modüldür. py-cord'un discord.py'den farkı discord.py'nin geliştirilmesinin durması ve py-cord'da Discord'un eğik çizgi komutlarının bulunmasıdır.
Adım 2: Botu Oluşturma
Bu adresi takip ederek Discord Developer Portal'a giriyoruz. Sağ üstten 'New Application' tuşuna tıklıyoruz.
[upl-image-preview url=/assets/files/2022-03-19/1647715346-418169-image.png]
Bot için isim yazıp 'Create' tuşuna tıklıyoruz. Açılan yeni sayfadaki sol menüden bot sekmesine giriyoruz. Sağdan 'Add Bot' diyoruz, ardından 'Yes, do it!' diyoruz. Token kısmına gelip 'Copy' yapıyoruz.
Adım 3: Kod Yazma
Herhangi bir kod editörünü açıp aşağıdaki kodu yazıyoruz, ardından main.py ismiyle kaydediyoruz.
import discord # Discord'u import ediyoruz.
from discord.ext import commands # Discord komut eklentisini import ediyoruz.
bot = commands.Bot(command_prefix='')
"""commands.Bot class'ından bot objemizi oluşturuyoruz."""
"""'command_prefix' parametresi botun prefixini belirler."""
"""Şimdilik tüm mesajları komut olarak algılaması için boş bıraktık."""
@bot.event # Altta tanımlanan fonksiyonun bot için bir event olacağını tanımlar.
async def on_ready(): # Eventlerde isimler değişmez. 'on_ready' bot çalışmaya hazır olduğunda çalıştırılır.
print(f'{bot.user} çalışmaya hazır!')
@bot.command() # Altta tanımlanan fonksiyonun bir bot komutu olacağını tanımlar.
async def hello(ctx): # Fonksiyonu istediğimiz isimle tanımlıyoruz.
"""Buradaki ctx parametresi komut olarak gelen mesaj hakkında bilgileri sağlar."""
"""Örneğin ctx.send komutu ile direk olarak karşı mesaj yazılabilir."""
await ctx.send('Hi!') # 'hello' yazıldığında karşılık olarak 'Hi!' mesajı gönderilmesini sağladık.
bot.run('TOKEN') # Buraya string olarak bot tokenimizi giriyoruz. Örneğin token 1234 ise bot.run('1234') olmalı
Adım 4: Botu Çalıştırma
[upl-image-preview url=/assets/files/2021-09-22/1632336131-481058-screenshot-3.png]
main.py dosyasını kaydettiğimiz klasörde komut istemi/uçbirim açıyoruz, ardından python main.py
yazıyoruz. Bot şu andan itibaren çalışıyor. CTRL + C yaparak kapatabilirsiniz.
Adım 5: Botu Sunucumuza Ekleme
Önceden girdiğimiz Discord Developer Portal'a yine üstteki bağlantıyı kullanarak giriyoruz. Oluşturduğumuz bota tıklayıp Application ID altından copy'ye basıyoruz. https://discord.com/oauth2/authorize?client_id=APPID&scope=bot&permissions=8
linkinde APPID yazan yeri silip oraya kopyalıyoruz yani o kısım ....ize?client_id=1234&sco....
gibi olacak. Oluşan bu linke giriyoruz, ardından botumuzu seçip sunucumuza ekliyoruz. Artık yaptığımız komutu Discord'da deneyebiliriz.
Adım 6: Test Etme
Botun erişimi olan herhangi bir kanal gelip yaptığımız 'hello' komutunu yazıyoruz ve cevap olarak bize 'hi!' yazıyor.
[upl-image-preview url=/assets/files/2022-03-19/1647715361-104551-image.png]
Yapamadığınız bir kısım olursa sorabilirsiniz, başka bir konuda görüşmek üzere.