Discord’da insanoğlu düşünce paylaşmak, projeleri tartışmak ve genel olarak yaşam ve hobiler hakkında söyleşi etmek için ortaklık yapıyor. Sadece Discord botları, görevleri otomatikleştirmenin yanı sıra söyleşi odalarınızı daha keyifli hale getirebilir. Bunlar rastgele şakalar söylemekten belirli müzik çalmaya ve daha fazlasına kadar her şey olabilir.
Bununla beraber, Discord bot yapmayı öğrenirken izlemeniz ihtiyaç duyulan bazı mühim adımlar vardır. Onları bu makalede keşfedeceğiz.
Hadi başlamış olalım.
1. Discord Sunucunuzu Oluşturun
Discord botu oluşturmadan ilkin, botun vazife yeri olduğundan bir sunucu oluşturarak başlamanız gerekir.
Discord sunucusu yada söyleşi odası, platformdaki kanalları ve iletişimleri yönettiğiniz bir alandır.
Discord sunucusu oluşturmak için Discord internet sayfasına gidin ve Discord panonuzda oturum açın. Yada esasen yoksa bir hesap oluşturun.
Panonuza girdikten sonrasında Discord sunucusu yapmak için şu adımları izleyin:
- Eklemeyi tıklatın (+) simgesini tıklatın.
- Kendi Çocuğumu Yarat seçenek.
- Sunucunuzu oluşturmak için bir amaç seçin.
- Sunucunuzu profil resmi ve adla özelleştirin. Peşinden Yaratmak.
Artık bir Discord sunucusu oluşturdunuz ve üstündeki belirli etkinlikleri denetlemek için bir bot hayata geçirmeye hazırsınız.
2. Discord Botunuzu Kurun ve Oluşturun
Peşinden, Discord Geliştirici Portalı’na giderek bir Discord uygulamasının içinde bir Discord botu oluşturmak istiyorsunuz. Yada bunun yerine tarayıcı adres alanınıza aşağıdaki URL’yi yazabilirsiniz:
https://discord.com/developers/applications
Geliştirici konsoluna girdikten sonrasında:
- Tık Yeni Uygulama sol üstte.
- Verilen alanda uygulamanız için bir ad sağlayın. Peşinden Yaratmak.
- Sol kenar çubuğuna bakın ve Bot.
- Tık Bot Ekle en sağda.
- Sonraki istemden, Evet, yap!
- Tık Kopya etmek bot jetonunuzu kopyalamak için. Proje kökünüzün içinde bir metin dosyası oluşturun ve bu dosyayı bu dosyaya yapıştırın. Dosyayı adlandırabilirsiniz Sır.txt. Kopyalanan belirteci açığa çıkardığınızı ihmal etmeyin.
- Aşağı kaydırın ve aşağıdaki düğmeyi değiştirin VARLIK NIYETI. Ek olarak, aşağıdaki düğmeyi açma SUNUCU ÜYELERİnİn AMADI.
- İleri, OAuth2 Discord botunuza kimlik doğrulama öncelikleri eklemek için sol çubukta.
- Seçmek URL Oluşturucu daha ilkin oluşturduğunuz sunucu için bir bot çağrı URL’si oluşturmak için.
- Seçeneklerden, KAPSAMseçmek Bot.
- Aşağı kaydırın. BOT İzNİ kısmına gidin ve Discord botunuz için rolleri seçin. Bu durumda, biz vereceğiz Yönetici rol.
- En alta gidin ve KOPYA ETMEK oluşturulan URL’yi panonuza kopyalamak için.
Şimdi sunucunuzu bota bağlayın.
Discord Botunuza Sunucu Bağlama
Bahsettiğimiz benzer biçimde, bir bot ilk olarak sunucunun içinde çalışır. Bundan dolayı, bizim benzer biçimde bir Discord botu oluşturduktan sonrasında, çalışmasını istediğiniz bir sunucuya atamanız gerekir.
Bundan dolayı, oluşturulan URL’yi kopyaladıktan sonrasında, söyleşi odanızı Discord botuna bağlamak için aşağıdaki adımları izleyin:
- Kopyalanan URL’yi tarayıcınızın adres alanına yapıştırın ve oturum açın.
- İstemden, Sunucu seçme ve daha ilkin oluşturduğunuz olanı seçin.
- Tık Devam etmek devam etmek için.
- Daha ilkin ayarladığınız izinlerin listesini içeren yeni bir menü görürsünüz. Seçmek Yetki vermek.
- Discord botunuzu yetkilendirmeyi tamamlamak için CAPTCHA’yı çözün.
Şimdi bir Discord botu oluşturdunuz. Sunucu panonuza geri döndüğünüzde robotu sağ kenar çubuğunda görürsünüz. Sadece gördüğünüz benzer biçimde, şu anda çevrimdışı. Bu yüzden, bunu yapmak için programlayana kadar hemen hemen çalışmaz.
Botunuzun çalışmasını sağlamak için, sizin için en uygun programlama dilinde bir komut dosyası yazmanız gerekir.
3. Discord Botunuzu Python Kullanarak Programla
Bu öğretici için Python’u kullanacağız ve Discord botını mahalli makinede barındıracağız. Her şey ayarlandıktan sonrasında isterseniz Heroku benzer biçimde bulut hizmetlerinde sizinkini barındırabilirsiniz. Hadi dalalım.
Python ve Kitaplıkları Ayarlama
Discord botunuzu programlamak için Python ile discord.py yalnızca Python 3.5.3 yada sonraki bir ile çalışan modül.
Hemen hemen yapmadıysanız yada daha önceki bir sürümünüz var ise, son olarak Python sürümünü indirmek için python.org gidin.
Terminalinize aşağıdaki komutu girerek bilgisayarınızda yüklü python sürümünü denetim edebilirsiniz:
python --version
Python güncelse, terminali proje kökünüze açın. Peşinden bir Python sanal ortamını etkinleştirin.
Ek olarak, yüklemeniz gerekir discord.py ve sesli destek paketi discord.py(seslendirme).
Sanal ortam etkinken, bu paketleri yüklemek için terminalinizde aşağıdaki komutu çalıştırın:
pip install -U discord.py discord.py(voice)
Discord Botunuzla Bildiri Gönderin
Burada, bir kanalda metin gönderdiğinizde Discord botunuzu hususi bir mesajla cevap verecek şekilde programlayacaksınız.
Sadece ilkin, Discord botunuzu başlatmak için komut dosyanızın en üzerine aşağıdaki kodu yazın:
import discord
# Import the commands module:
from discord.ext import commands
# Initialize the bot instance and use a blank prefix:
bot = commands.Bot(command_prefix="")
#Read your bot token from the txt file in your project root:
Secret = open("secret.txt", 'r')
Secret = Secret.read()
#Run the bot in an event loop:
bot.run(Secret)
Bu, bir sonraki Bot değişkeni, komut derslik. Ve. command_prefix ayraç içinde ondan ilkin gelen bir karakter belirtmenizi sağlar. Dolar işareti ($), ünlem (!), ve işareti (& ) ve daha fazlası benzer biçimde karakterler bot komutlarından ilkin gelen yaygın öneklerdir.
Fakat davamızdaki ön eki unuttuk. Bu yüzden Discord botuna yönerge verirken bir taneye ihtiyacınız yok.
@bot.command() Dekoratör, hususi bir komut verelim. Merhabave Discord botu gördüğünde cevap metni sağlayın.
Hususi komutların Python işlevleri bulunduğunu ihmal etmeyin:
import discord
# Import the commands module:
from discord.ext import commands
# Initialize the bot instance:
bot = commands.Bot(command_prefix="")
@bot.command()
async def Hi(ctx):
await ctx.send("Hi, welcome to our server")
Secret = open("secret.txt", 'r')
Secret = Secret.read()
bot.run(Secret)
Şimdi python komut dosyasını terminalinizde çalıştırın. Sonrasında Discord’a git ve sihrin ortaya çıktığını görmek için “Merhaba” gönder.
Yakından bakmış olduğunuzda, Vakit uyumsuz beklemek işlevine hizmet etmek için yöntem. Modülün Discord ile kontakt kurmasının tek yolu bu olduğundan, bu oldukca önemlidir.
Bu, bir sonraki ctx örnek bir bağlamdır ve birçok işlevi vardır. Sadece bu durumda, Discord botunuzun bir bildiri göndermesine izin verir.
Yeni Kanal Üyelerine Botunuzla Hoş Geldiniz
Bu örnekte, birisi sunucunuza katıldığında selamlamayı tetiklemek için olayların iyi mi kullanılacağını görmüş olacaksınız. Ek olarak, yeni bir üyenin kullanıcı adını ve kutlama iletisinde katıldıkları sunucuyu iyi mi görüntüleyeceksiniz?
Kullanacağız. @bot.vaka onun yerine burada. Şöyleki çalışır:
@bot.event
async def on_member_join(member):
guild = member.guild
if guild.system_channel is not None:
detailMessage = 'We welcome {0.mention} to the {1.name}!'.format(member, guild)
await guild.system_channel.send(detailMessage)
Bu, bir sonraki on_member_join işlevi bir vaka türüdür. Fakat daha bir sürü var. Bu, bir sonraki on_ready yöntemi, mesela, bir botun hazır olup olmadığını denetlemek için yaygın olarak kullanılan bir vakadır.
Ek olarak, aşağıdaki şart eğer deyimi bağlı sunucunun (lonca yada söyleşi odası) var olup olmadığını denetler. Var ise, Python mısra biçimini kullanır yeni üyenin kullanıcı adını ve katıldıkları sunucuyu çıktısını alma yöntemi.
Şimdi nasıl sonuçlanacağını görmek için bir arkadaşınızdan sunucunuza katılmasını isteyin. Gene de, çalıştığından güvenilir olmak için ilkin bunu düzmece bir Discord hesabıyla tecrübe etmek isteyebilirsiniz.
Discord Bot’tan Ses Kanalına Katılmasını yada Ses Kanalından Ayrılmasını İste
Şimdi kodu genişletelim. Ve bu sefer, botunuza belirli bir komut aldığında bir ses kanalına katılmasını yada ayrılmasını söyleyeceksiniz.
Aşağıdaki örnek kodda, “enter” yazdığınızda Discord botu bir ses kanalında size katılır:
@bot.command()
async def enter(ctx):
if ctx.author.voice:
await ctx.message.author.voice.channel.connect()
İçindeki şart eğer deyimi, bir ses kanalına katılıp katılmadiğinizı denetler. Eğer öyleyse, beklemek anahtar kelime Discord botunuzu ona bağlar.
Bu, komutun emek harcaması için ilkin bir ses kanalına katılmış olmanız gerektiği anlamına gelir.
Not: Her güncellemeden sonrasında Python komut dosyanızı durdurup tekrardan başlattığınızdan güvenilir olun. Python’un değişikliklerinizi senkronize etmenine olanak tanır.
Python komut dosyanızı tekrardan çalıştırdığınızda Discord’u açın ve girmek—artık Discord botunuzun ses kanalına katıldığını görmüş olacaksınız.
Botunuzdan kanaldan ayrılmasını istemek, onu eklemek kadar kolaydır.
Aşağıdaki kod, uygun komutu yazdığınızda kanaldan ayrılmasını söyler. Bu durumda “ayrıl” kelimesini kullanacağız:
@bot.command()
async def leave(ctx):
if ctx.voice_client:
await ctx.guild.voice_client.disconnect()
Komut dosyanızı durdurun ve tekrardan çalıştırın. Discord botu artık “ayrıl” komutunu gönderdiğinizde ses kanalından ayrılmalıdır.
Discord Botunuzu Geliştirmeye Devam Edin
İşte bu! Kendine işlevsel bir Discord robotu yaptın. Örnek kod bloklarını bir araya getir ve Discord botuna özellikler eklemeye devam et. Mesela, bir ses kanalına katılır katılmaz bilgisayarınızdan yada bir akış platformundan müzik çalmasını söyleyebilirsiniz.
Discord botlarını kullanmak eğlencelidir. Söyleşi odalarınızda hemen hemen onlarla görevleri otomatikleştirmiyorsanız, ciddi bir verimliliği kaçırıyorsunuz demek demek.