Birkaç Adımda Discord Botu Oluşturma Rehberi
Giriş
Selamlar, bu makalede birkaç adımda discord botlarını nasıl inşa edebileceğinize değineceğim.
Not: Bu makale Python'ın Discord Bot modülü olan discord.py referans alınarak hazırlanmıştır.
Kuruluma Geçmeden Önce Yapılacaklar
- Discord üzerinde oturum açtıktan sonra, https://discord.com/developers adresine gidin, açılacak olan uygulamalar sayfasında «New Application» diyerek yeni bir uygulama oluşturun.
- Uygulama oluştuğunda açılacak olan sayfada «Bot» sekmesine girip sağdaki «Add Bot» butonuna tıklayıp botu oluşturun.
- Bu sayfada Tokeniniz oluşturulmuş olacak. Bu tokeni alın. İsterseniz bot resmi, adı vesaire gibi bilgileri güncelleyebilirsiniz.
- Bu sayfadaki «OAuth» sekmesine girin ve altındaki Url Generator sekmesine gelin. Önünüzdeki listeden bot seçeneğini bulup işaretleyin. Altta açılan yeni sekmede botunuzun eklediğiniz sunucularda kullanacağı izinleri seçin, altta oluşacak olan bağlantıyı kopyalayın. (Bu bağlantı botu sunucunuza davet etmek için gerekli.) Bu bağlantıyı ve üçüncü adımda edindiğimiz Bot Tokeni bir yere not edin.
Kurulum
Bu bot için discord.py isimli modülü kullanacağız.
Kurulumu CMD veya Git Bash üzerinden yapabilirsiniz.
Not: (Python3 ve PIP'in kurulu olduğundan ve PATH'e eklendiğinden emin olun.)
pip install discord.py
Komut satırında "pip install discord.py" komutunu verdikten sonra bu modülü projemize "import discord" yazarak dahil edebiliriz.
Kodlar
import discord # modülü dahil ettik client = discord.Client() # modülü çalıştırmak için Client() nesnesi oluşturduk @client.event # kullanıcı ile bot etkileşimini kontrol için bu kısmı yazdık async def hello(message): # etkileşim kurulduğunda tetiklenecek olan asenkron bir fonksiyon yazd.k if message.content.startswith('/start' ): # gelen mesajın /start komutu ile başladığını kontrol ettik # ayrica discord.ext stnifindaki commands ozelligini de kullanabilirsiniz await message.channel.send( 'Bot başlatıldı..') # burada ise, kullanıcıya "Bot başlatıldı" mesaj göndermesini söyledik client.run('token') # burada not ettiğiniz bot tokeni eklemelisiniz # detaylı bilgi: https://discordpy.readthedocs.io/en/latest/
Eklemeler
Dilerseniz bu bot için işlevsel fonksiyonlar oluşturabilir, fonksiyonlardan return ettiğiniz değerleri kullanıcıya gönderebilirsiniz.
(örneğin, anlık tarihi gönderebilirsiniz.)
Benim yaptığım ilk fonksiyonlar; anlık tarih, rastgele motivasyon sözleri, yazılım terimleri sözlüğünden rastgele sözcükler ve anlamları, bu sözlükte terim arama vesaire. Örnekler çoğaltılabilir.
İsterseniz bu bot ile discord ile ilişkili olmayan bir işlem de yapabilirsiniz.
Python üzerinde gerçekleştirebileceğiniz çoğu işlemi discord komutu tetiklendiğinde yapabilirsiniz. Yani kullanıcıya bir şeyler gönderecek işlemler yapmak zorunda değilsiniz. Nasıl işinize geliyorsa. Bu bota ne gibi işlevler kazandıracağınız sizin Python bilginize, araştırma istediğinize ve en önemlisi hayal gücünüze kalmış.
Botun sürekli aktif olması için bir sunucuda barındırılması gerekecektir. Bunun için ise Heroku veya VDS server kullanabilirsiniz. Heroku'ya bot nasıl host edilir sonraki postlarda anlatacağım.