Discord Bot Yapımı | M4K4R

M4K4R

Kıdemli Üye
14 Mar 2017
4,368
3
Selamun Aleyküm

Bu dersimizde sizlere nasıl discord da kendi botunuzu yapabilirsiniz onu anlatıcam.

İlk önce discord sunucusu oluşturuyoruz nasıl yapıldığını bu konumda sizlere anlatmıştım.

https://www.turkhackteam.org/diger-medyalar/1686384-discord-sunucusu-kurma-m4k4r.html

Gerekli programlar

Atom: https://atom.io/ JavaScript hakkında bilgisi olmayan arkadaşların bu konumuzda çok işine yarayacak bir program.

Node: https://nodejs.org/en/

Kurulumunu anlatmıyorum kendiniz zaten göreceksiniz çok basit kuruluma sahipler.


İşlemleri yaptıktan sonra discord developer e giriş yapıyoruz.

https://discordapp.com/developers

OcNu4D.png


ana sayfadan My apps bölümüne geçiş yapıyoruz.

ZBMwkJ.png


My apps bölümünde New app sözüne tıklıyoruz.

SGB7TI.png


APP NAME bölümüne botun ismini
APP ICON bölümüne botun resmini ekliyoruz.

dgljwS.png


Bunları yaptıktan sonra Create App butonuna tıklıyoruz.

bZRkLe.png


doğru yaptıysanız karşınıza böyle bir pencere gelecek.

Awj79X.png


aşağıya geliyorsunuz Bot'un yanında bulunan Create a Bot User tıklıyorsunuz.

4z4UkP.png


Bunu da yaptık dan sonra yeni açılan küçük pencerede Yes do it diyoruz.

97EPaf.png


Botunuz herkes tarafındanmı kullanılsın yoksa yalnızca sizin eklediğiniz sunucularda mı çalışsın buna karar vermeniz lazım.

CtyUNa.png


Botunuzun herkes tarafından kullanılmasını istiyorsanız Public Bot işaretlememiz lazım.

T9VPI0.png


Botunuzun yalnızca sizin eklediğiniz sunucularda çalışmasını istiyorsanız Public Bot yazılan bölümü boş bırakacaksınız.

Bet1cW.png


Diğer işlemler şuan için önemli değil o yüzden aşağıda bulunan Save Changes butonuna tıklıyoruz.

BFbrNV.png


Önemli:

Bot bölümünde Token yazılan yer mevcut

rMjj4C.png


Peki Token bizim ne işimize yarayacak ?!

Token olmazsa botumuzu çalıştıramayız o yüzden tokenimizi unutmamamız ve kimseye vermememiz lazım.

Tokenimizi almak için click to reveal sözüne tıklıyoruz.

SlJ2cH.png


Tokeni unuttunuz veya birisi ele geçirdi o zaman Generate a new token? sözüne tıklayarak yeni bir token alabilirsiniz.

t6mbmo.png



Part2

İlk önce yeni bir klasör oluşturuyoruz.

tUfakJ.png


İsimini nasıl isterseniz öylede kaydedebilirsiniz örnek: 'Bot'

ZuHzP6.png


Klasöre giriş yapıyoruz shift basılı tutarak mausun sağ butonuna tıklıyoruz.

RdIJpL.jpg


Karşımıza çıkacak olan bölümde Power Shell veya sizlerde varsa Komut Penceresine tıklıyoruz.

Bende Komut Penceresi yok o yüzden Power Shelli kullanıcam

c9XJH5.png


Power Shelli veya Komut penceresini açıyoruz.

2xOgOT.png


npm init yazıyoruz enter tıklıyoruz.

PsBYyO.png


Biraz bekliyoruz ve karşımıza package name çıkıyor buraya botumuzun ismini yazıyoruz küçük harfler le örnek: turkhackteam

Y15A7C.png


Version olarak 0.0.1 kullanıcaz.

oU4M3m.png


Description bölümüne bir şey yazamazsınız da olur enter butonuna tıklayarak geçebilirsiniz.

qcEG0B.png


entry point bölümüne dilediğiniz isimi yazabilirsiniz ben bot.js index.js veya yapmış olduğun botların isimlerini veriyorum.
sizlerde isterseniz bot.js yazabilirsiniz.

vmkqRy.png


test command bölümüne node entry bölümüne yazmış olduğunuz isim yani örnek olarak node bot.js şeklinde yazıyorsunuz.

h08boP.png


git repository ve keywords bölümünü boş bırakıyoruz.

dn7Zdg.png


author bölümüne yapımcı ismini yani kendi ismimizi yazıyoruz.
örnek: makartht

z4uhTq.png


license bölümüne MIT veya ISC yazıyoruz
ben ISC yazıyorum sizlerde ISC yazabilirsiniz.

V8R9Tf.png


Bu işlemleri yaptıktan sonra bizden yapmış olduğumuz işlemleri onaylamamızı istiyor yes yazıyoruz ve enter butonuna tıklıyoruz.

VIVxEq.jpg


Bunları yaptıktan sonra Power Shell den veya Komut Penceresinden çıkış yapıyoruz.

Yapmış olduğumuz bot dosyasına geliyoruz.

ZAVqPJ.png


Klasör içinde yeni bir Metin Belgesi oluşturuyoruz.
Farklı kayıt et diyoruz.
Kaynak Türünü tüm dosyalar olarak kayıt ediyoruz metin belgesinin adını az önce ne yaptıysanız burada da yapıyoruz yani örnek olarak ben index.js yaptım sa burada da metin belgesinin adını index.js yapmak zorundayım.

p2o6dv.png


Kaydet butonuna tıklıyoruz ve artık klasörünüzde 2 dosya bulunuyor.

IK6kjg.png




Part3

Bu gün sizlere birlikte botumuzu kodlamaya başlayacağız.

diğer konumuzda son aşamada yeni bir metin belgesi oluşturmuştuk şimdi o metin belgesine sağ tıklayarak atom ile açıyoruz tabi atomu bilgisayarınıza kurduysanız.

KekQLI.png


Bu siteye giriş yapıyoruz discord.js (https://discord.js.org/#/) ana sayfada bulunan example kopyalıyoruz.

XyOgk8.png


atom programına yapıştırıyoruz.

z4n6J6.png


burada yapmamız gereken bir kaç işlem var bunlardan ilki console.log düzenlememiz.

c6eTPE.png


Logged in as yazısını siliyoruz yerine Bot yazıyoruz.

4ciHuN.png


client.user.tag yazısından tag siliyoruz yerine username yazıyoruz.
tag ve username aynı işlemi yapıyor isterseniz böyle de kalabilir.

fpIEtL.png


daha sonra Bot sunucuya ilk girişinde uyarı olarak hangi mesaj yazılsın onu yazıyoruz.
örnek olarak: selamun aleykum
siz ne istiyorsanız onu yazabilirsiniz hiç fark etmez.

7Bi83S.png


console.log un son hali böyle olacak yeşile yazılmış olan bölümlere istediğiniz yazıyı ekleyebilirsiniz.

IFkY47.png


Kod:
console.log(`Bot ${client.user.username} selamun aleykum!`);

client.login bölümüne ilk dersimizde söylemiş olduğum token i ekliyoruz.

tbJ5lb.png


yani şöyle
Kod:
[COLOR="red"]client.login('Buraya token'); [/COLOR]

QtxP1i.png


Bunu kayıt ediyoruz, klasöre geri geliyoruz ve
PowerShell veya Komut penceresini açıyoruz 2 ci dersimde nasıl yapıldığını anlatmıştım.

OQ6nes.png


Buraya npm install discord.js yazıyoruz

dHTziy.png


Biraz bekliyoruz yükenmesi 1-2 dk alıyor

bOWQD1.png


Şimdi çalışıp çalışmadığını nasıl anlıycaz powersehll veya komut penceresine node index.js yazıyoruz.
önemli: index.js yazıyorum çünki ben 2 ci dersimde ayarlarda dosya ismini index.js yaptım siz ne yaptıysanız onu yazmanız lazım.

NGSW8L.png


Ve Bende çalışıyor sizde benim yaptıklarımı yaptıysanız sorunsuz çalışıcak.

a3TpxG.png


Şimdi botumuzu nasıl discord sunucumuza ekleyeceğiz ilk önce bu siteye giriyoruz permissions calculator discord https://discordapi.com/permissions.html

jCzYWN.png


Client ID bölümüne discord developers de bulunan id mizi ekliyoruz.

PAr3Xj.png


Daha sonra tüm ayarları istediğiniz gibi yapıyorsunuz ben sizlere göstermek için tüm ayarları işaretliycem.

qXW78y.png


Daha sonra ana menu de tam aşağıda bulunan linke tıklıyorsunuz.

UMflRc.png


Ve admin olduğunuz sunuculardan birisini işaretliyorsunuz artık botumuz sunucuda bulunmuş olacak.

ctXzCz.png


Ping yazıyoruz pong olarak bize cevap veriyor.

QRPezs.png


Peki diyelim botla konuştuğumuz zaman bizi her defasında tag eklemesini istemiyoruz o zaman şöyle yapacağız.

Atoma geliyoruz msg.reply('Pong!'); yazılan yerden reply yazısını siliyoruz yerine channel.sendMessage yazıyoruz.

şöyle:
Kod:
[COLOR="red"]msg.channel.sendMessage[/COLOR]

4WA75L.png


Ve PowerShell de yeninden botumuza node index.js(örnek) yazıyoruz.

Tabi bunu yapabilmek için ilk önce botu durdurmamız lazım durdurmak için ctrl + c yapıyoruz .

QkPRB1.png


Ve artık bizi tag etmeyecek.

FlgITO.png


Ve son olarak nasıl prefix ekliyoruz yine atomu açıyoruz.

4 cü satıra var prefix = 'buraya istediğimiz işareyi' yazıyoruz.

rt7zkL.png


sonra 10 satıra şu kodu ekliyoruz:

Kod:
client.on('message', msg => {
  if (!msg.content.startsWith(prefix)) {
      return;
  }

k4h07H.png


Tüm kodlar:

Kod:
const Discord = require('discord.js');
const client = new Discord.Client();

var prefix = '+';

client.on('ready', () => {
  console.log(`Bot ${client.user.username} selamun aleykum!`);
});

client.on('message', msg => {
  if (!msg.content.startsWith(prefix)) {
      return;
  }
 if (msg.content === prefix + 'ping') {
    msg.channel.sendMessage('Pong!');
  }
});

client.login('Token');

UclZld.png


Ve artık botumuz çalışıyor.

Elimden geliği kadar açıklayıcı oluyorum anlamadığınız bir yer olursa özelden veya konu altından bana yazabilirsiniz.​
 
Son düzenleme:

megat

Kıdemli Üye
24 Şub 2016
3,324
34
-
Eline koluna sağlık makar discord şuanki nesil için büyük bir nimet diyebiliriz
 

M4K4R

Kıdemli Üye
14 Mar 2017
4,368
3
Çok yararlı olmuş hocam elinize sağlık. ;)

Elinize Sağlık Hocam :)

Eline koluna sağlık makar discord şuanki nesil için büyük bir nimet diyebiliriz

Eline emeğine sağlık.

Hocam Elinize Sağlık. Konunuzu aboneliğe ekledim. Devamını bekliyoruz.

Süper anlatım olmuş Ellerinize Sağlık

Ellerinize Sağlık Deneyicem :)

Güzel anlatım emeğine sağlık M4K4R Devamını bekliyorum can dostum :)

Çok faydası var tabi toplu mesaj silici, sorduğunda cevap veren bir bot yapabiliyorsun. Çok şey yapabiliyorsun

Teşekkürler

Eline saglik
Vds gerekli diye biliyorum

Evet vds veya vps gerekli ama daha oraya gelmedik konuda

Eline sağlık ama ne işimize yarar bu bot

Discord da botlar birçok iş yapar bunlara örnek olarak Xavierin söylediği gibi toplu mesaj silici bot
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.