Anasayfa » nasıl » Kendi Discord Bot Nasıl Yapılır

    Kendi Discord Bot Nasıl Yapılır

    Discord, özel botlar yazmak için mükemmel bir API'ye ve çok aktif bir bot topluluğuna sahip. Bugün nasıl kendiniz yapmaya başlayacağınıza bir göz atacağız..

    Bir botu kodlamak için biraz programlama bilgisine ihtiyacınız olacak, bu yüzden herkes için değil, ama neyse ki popüler dillerin yapmasını çok kolaylaştıran bazı modüller var. En popüler olanı, discord.js'yi kullanacağız..

    Başlamak

    Discord'un bot portalına gidin ve yeni bir uygulama oluşturun.

    Müşteri Kimliğini ve sırrını not etmek isteyeceksiniz (elbette sır olarak saklamanız gereken). Ancak, bu bot değil, sadece “Uygulama”. Botu “Bot” sekmesinin altına eklemek zorunda kalacaksın..

    Bu jetonu da not edin ve bir sır olarak saklayın. Hiçbir koşulda bu anahtarı Github'a taahhüt etmeyin. Botunuz neredeyse anında saldırıya uğrayacak.

    Node.js yükleyin ve kod alın

    Javascript kodunu bir web sayfasının dışında çalıştırmak için Düğüme ihtiyacınız vardır. İndirin, kurun ve bir terminalde çalıştığından emin olun (veya Komut İstemi, bunların tümü Windows sistemlerinde çalışmalıdır). Varsayılan komut “düğüm” dür.

    Ayrıca nodemon aracını yüklemenizi de öneririz. Botunuzun kodunu izleyen ve değişikliklerde otomatik olarak yeniden başlatılan bir komut satırı uygulaması. Aşağıdaki komutu çalıştırarak kurabilirsiniz:

    npm i -g nodemon

    Bir metin editörüne ihtiyacınız olacak. Sadece not defteri kullanabilirsiniz, ancak Atom veya VSC'yi öneririz..

    İşte “Merhaba Dünyamız”:

    const Discord = zorunlu ('discord.js'); const client = new Discord.Client (); client.on ('ready', () => console.log ('$ client.user.tag!' olarak giriş yaptınız);); client.on ('message', msg => if (msg.content === 'ping') msg.reply ('pong');); client.login ( 'belirteci');

    Bu kod discord.js örneğinden alınmıştır. Hadi parçalayalım.

    • İlk iki satır, istemciyi yapılandırmak içindir. Birinci satır, modülü “Discord” adlı bir nesneye içe aktarır ve ikinci satır, istemci nesnesini başlatır..
    • client.on ( 'hazır') bot başladığında blok ateşleyecektir. Burada, adını terminale kaydedecek şekilde ayarlandı..
    • client.on ( 'mesajı') Her kanala yeni bir mesaj gönderildiği zaman, blok ateşlenecektir. Tabii ki, mesajın içeriğini kontrol etmeniz gerekir. Eğer blok yapar. Eğer mesaj sadece “ping” diyorsa, “Pong!” İle cevap verecektir.
    • Son satır, bot portalından belirteçle oturum açar. Açıkçası, buradaki ekran görüntüsündeki belirteç sahte. Simgenizi asla internette yayınlamayın.

    Bu kodu kopyalayın, kartınızın altına yapıştırın ve index.js özel bir klasörde.

    Bot Nasıl Çalıştırılır

    Terminalinize gidin ve aşağıdaki komutu çalıştırın:

    nodemon - index.inpectpect

    Bu komut dosyasını başlatır ve ayrıca yazarak erişebileceğiniz Chrome hata ayıklayıcısını da başlatır. Krom: incelemek // /  Chrome'un Omnibar'ına girdi ve sonra “Düğüm için özel devtools” açtı.

    Şimdi, sadece “Giriş yaptı” demeli, ancak buraya konsola alınan tüm mesaj nesnelerini günlüğe kaydedecek bir satır ekledim:

    Peki bu mesaj nesnesini oluşturan nedir? Aslında bir sürü şey:

    En önemlisi, msg.author ve msg.channel ile erişebileceğiniz yazar bilgisine ve kanal bilgisine sahipsiniz. Nesneleri Chrome Düğümü geliştiricilerine günlüğe kaydetmeyi ve neyin işe yaradığını görmek için etrafa bakmayı öneririm. İlginç bir şey bulabilirsiniz. Burada, örneğin, bot cevaplarını konsola kaydeder, böylece botun cevapları tetiklenir. client.on ( 'mesajı'). Böylece bir spambot yaptım:

    Not: Gerçekten özyineleme ile uğraşmak istemediğinizden, buna dikkat edin.

    Botu Sunucunuza Nasıl Eklersiniz?

    Bu kısım olması gerekenden daha zor. Bu URL'yi almak zorundasınız:

    https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot

    Ve CLIENTID'yi, uygulama sayfasının genel bilgi sekmesinde bulunan botunuzun müşteri kimliği ile değiştirin. Bu yapıldığında, botlarını sunucularına eklemelerini sağlamak için arkadaşlarınıza link verebilirsiniz..

    Tamam, başka ne yapabilirim?

    Temel kurulumun ötesinde, tamamen başka bir şey size kalmış. Ancak, merhaba dünyasında durursak bu bir öğretici olmazdı, öyleyse belgelerin bazılarını gözden geçirelim, bu yüzden neyin mümkün olduğu hakkında daha iyi bir fikriniz var. Çok iyi belgelendiğinden, olabildiğince çok okumanı tavsiye ederim..

    Eklemeyi tavsiye ederim console.log (istemci) Kodunuzun başlangıcına ve konsoldaki istemci nesnesine bir göz atın:

    Buradan çok şey öğrenebilirsin. Aynı anda birden fazla sunucuya bot ekleyebileceğinizden, sunucular Guilds harita nesnesi. Bu nesnede bireysel Guilds (“sunucu” için API'nin adıdır) ve bu lonca nesnelerinde tüm bilgileri ve mesaj listelerini içeren kanal listeleri bulunur. API çok derindir ve öğrenmesi biraz zaman alabilir, ancak en azından kurulumu ve öğrenmeye başlaması kolaydır..