JavaScript kodlama nasıl öğrenilir?

Sana birazdan bir örnek atacağım. Onun üzerinden ilerlersen daha kolay olur.
 
JavaScript:
const Discord = require("discord.js");
const bot = new Discord.Client();
const moment = require('moment');
const client = new Discord.Client();
const db = require('quick.db');
require('moment-duration-format');


let prefix = "!!";//botun ön eki
let owner = "123453123126789";// sizin id'niz

bot.on("ready", guild => {
    bot.user.setActivity('OYNUYOR KISMI', { type: 'WATCHING'  })
  .then(presence => console.log(`Activity set to ${presence.game ? presence.game.name : 'none'}`))
  .catch(console.error);
    console.log(`[${moment().format('YYYY-MM-DD HH:mm:ss')}] BOT: Şu an ` + bot.channels.size + ` adet kanala, ` + bot.guilds.size + ` adet sunucuya ve ` + bot.guilds.reduce((a, b) => a + b.memberCount, 0).toLocaleString() + ` kullanıcıya hizmet veriliyor!`);
    console.log("Bağlandım!")
});

bot.on("message", message => {
if (message.content.toLowerCase() === prefix + "avatarım") {
message.channel.sendEmbed(new Discord.RichEmbed()
.setDescription(`Avatarınız:`)
.setImage(`${message.author.avatarURL} `)
.setColor("RANDOM"));
   }
});

bot.on("message", message => {
    if (message.content.toLowerCase() === prefix + 'kurulum') {
    if (message.author.id !== `${owner}`) {
      message.reply('Kurucumun izni olması lazım. Kurucum');
    } else {
      message.channel.sendMessage(` :white_check_mark: Gerekli şeyleri başarılı bir şekilde kurdum.`).then(msg => {
      console.log(`Yeniden başlıyorum..`);
      message.guild.createChannel('notech-log');// notech-log adında kanal kuracaktır.
    })
   }
  }
});

bot.on('message', msg => {
  if (msg.content.startsWith(prefix + "yaz")) {
    let mesaj = msg.content.substring(2 + 3);
    msg.delete();
    msg.channel.send(mesaj);
    }
    });

bot.on('message', msg => {
  if (msg.content.startsWith(prefix + "çekiliş")) {
    msg.channel.send(`Çekilişi Kazanan: ${msg.guild.members.random().displayName}`);
    }
    });

bot.on('message', msg => {
  if (msg.content.startsWith(prefix + "sikayet")) {//sunucu kurucusuna yazdığınız mesajı gönderir.
    msg.reply("Şikayetiniz Bildirilmiştir")
    let mesaj = msg.content.substring(2 + 5);
    msg.delete();
    msg.guild.owner.send(`Şikayet Bildiren: **${msg.author.tag}** \nŞikayet: ` + mesaj);
    }
    });

bot.on('message', message => {
if (message.content.toLowerCase() === prefix + "özlüsöz") {
    var sans = ["Affetmek geçmişi değiştirmez ama geIeceğin önünü açar","İnsanIar seninIe konuşmayı bıraktığında, arkandan konuşmaya başIarIar","Hayattan korkmayın çocuklar;iyi ve doğru bir şeyler yaptığınız zaman hayat öyle güzel ki","Mutluluğu tatmanın tek çaresi, onu paylaşmaktır.","Küçük şeylere gereğinden çok önem verenler, elinden büyük iş gelmeyenlerdir.","Bize yeni düşmanlar lazım. Eskileri hayranımız oldular.","Asla vazgeçmeyin, kaybedenler yalnızca vazgeçenlerdir.","10 kilitli kapıdan daha güvenlidir babanın evde oluşu.","Sevmek için “yürek” sürdürmek için “emek” gerek.","Bir insanın, bir insana verebileceği en güzel hediye; ona ayırabileceği zamandır."," Benim neden kardeşim yok baba  Seni görünce ikincisine cesaret edemedik.","Kendini Ne Kadar Büyük Görürsen Gör. Bende Sadece Gözümün Gördüğü Kadarsın. Ötesi yok.","Mutlu olmayı yarına bırakmak, karşıya geçmek için nehrin durmasını beklemeye benzer ve bilirsin, o nehir asla durmaz.– Grange"];
    var sonuc = sans[Math.floor((Math.random() * sans.length))];
    const embed = new Discord.RichEmbed()
      .addField(`¡ ¡ ¡ ¡ ¡ `, `${sonuc}`)
      .setColor("RANDOM");
    return message.channel.sendEmbed(embed);
}
});


bot.on('message', msg => {
if (msg.content.toLowerCase() === prefix + "futboloyna") {
msg.channel.send(':soccer :soccer: :goal: :soccer')
.then(nmsg => nmsg.edit(':soccer: :goal: :soccer:'))
.then(nmsg => nmsg.edit(':soccer: :goal: :goal:'))
.then(nmsg => nmsg.edit(':soccer: :goal: :soccer:'))
.then(nmsg => nmsg.edit(':soccer: :goal:'))
.then(nmsg => nmsg.edit('**Güzel Maçtı Bro Bidaha Oynayalım :)**'));
}
});

bot.on("message", message => {
    
    
  if (message.content.toLowerCase() ===  'sa') {
    message.reply('Aleyküm selam!');
  } 
    if (message.content.toLowerCase() ===  'selamun aleykum') {
    message.reply('Aleyküm selam!');
  }   

    if (message.content.toLowerCase() === prefix + 'yenile') {
    if (message.author.id !== `${owner}`) {
      message.reply('Bu komudu sadece **Bot Sahibi** kullanabilir!');
    } else {
      message.channel.sendMessage(`Yeniden Başlıyorum`).then(msg => {
      console.log(`Yeniden başlıyorum..`);
      process.exit(0);
    })
   }
  }
  
        
    if (message.content.toLowerCase() === prefix + "sunucubilgi") {
        const embed = new Discord.RichEmbed()
            .addField("Sunucu Adı", message.guild.name, true)

            .addField("Sunucu ID", message.guild.id, true)

            .addField("Sunucu Sahibi", message.guild.owner, true)

            .addField("Toplam Üye Sayısı", message.guild.memberCount, true)

            .addField("AFK Süresi", message.guild.afkTimeout, true)

            .setFooter("Oluşturulma Tarihi " + message.guild.createdAt)
        
            .setColor("RANDOM")

        return message.channel.sendEmbed(embed)
 
    
    if (message.content.toLowerCase() === prefix + "botbilgi") {
        const embed = new Discord.RichEmbed()
            .addField("Bot Sahibi", `<@${owner}>`, true)

            .addField("Version", "2.0.1", true)

            .addField("Toplam Sunucu Sayısı", bot.guilds.size, true)

            .addField("Toplam Kullanıcı Sayısı", bot.guilds.reduce((a, b) => a + b.memberCount, 0).toLocaleString(), true)
            
            .addField("Toplam Kanal Sayısı", bot.channels.size, true)
            
            .addField("Çalışma Süresi", moment.duration(bot.uptime).format('D [gün], H [saat], m [dakika], s [saniye]'), true)

            .addField("Kitaplık Türü", "discord.js")
        
            .setColor("RANDOM")
        
        return message.channel.sendEmbed(embed)
    }
    
  
bot.login(TOKEN); //değiştirmeyin.
Sadece sona kendi botunun tokenini yaz. Bu bot üzerinden ilerle
He birde unutuyordum, bot.login , bot.on gibi yerleri client.on , client.login yap.
@eater iyi çalışmalar.
 

Teşekkür ederim.
 
Yanlış bilgilendirme yapmayınız discord.js bir dil değil bir kütüphane.
bot.login, bot.on durmasında bir sakınca yok iki türlüde çalışır.
 
Son düzenleme:
Eğer gerçekten üstüne düşersen aşağıda bulunan bağlantılar ile ortalama üstü JS geliştiricisi olabilirsin. Herhangi bir video serisini takip etmek zorunda değilsin. İlk olarak freeCodeCamp
ile temelini oluşturup ardından aşağıdaki 2 bağlantı ile pekiştirebilir ve eksiklerini kapatarak devam edebilirsin.

E-kitap
Mozilla Developer
 
Program olarak glitch kullan.
En iyisi o. İnternnette bir site.

Glitch en iyisi değil, sadece ücretsiz bir Online host.


1- Discord.js, Discord tarafından geliştirilmedi.
2- Discord.js ile bot yaparken node.js kullanır ve node.js kütüphanesi olan discord.js yi kullanmayı öğrenir.
3- Tüm kodlar mevcut değil; Event'ler ve kullanım amaçları mevcut.
4- Node.js, Discord.js yi çalıştırmak için olmazsa olmazdır, discord.js verileri çevirir sadece.
5- Verdiğin tüm bilgiler yanlış ve yanlış bilgi vermeyin diyorsun hahaha, cringe.

Ben bu dili Discord botu yaparak kavradım

Discord botu yaparak JavaScript'i kavrayamazsın, JS kullanmıyorsun çünkü.

Glitch sitesine kaydol ve Emirhan saraç kanalından izlemeye başla. Benim 2 adet Discord botum var. Önce internetten yap sonra aklıda kalanlarla hiç bakmadan kendin yapmayı dene.

Hazır kod kullanarak ortada ben yazılımcıyım/discord botu kodladım diye dolanma hahaha.
Botların linklerini atar mısın? Tabii eleştiriyi kaldırabileceksen.

Yanlış bilgilendirme yapmayınız discord.js bir dil değil bir kütüphane.

Bot. Login, bot. On durmasında bir sakınca yok iki türlüde çalışır.

Bu mesaja neden kızgın attın @tequila sunset?
 
@eater , @tequila sunset in dediklerinin çoğu yanlış, zaten @EKAloji hocam belirtmiş.
Şimdi JS öğrenmeden işe girişilebiliyor, ama, bir "," unutunca bile hata verdiği için, hatayı bulmanız zorlaşıyor dile bilmezseniz. Yani JS'yi az da olsa bilmeniz sizin için daha iyi olur.
Zaten bot node.js üzerindeki Discord.js modülü kullanılarak yazılıyor. Yani bilmeniz gereken bunlar olacak, JS sadece temel için.

Node.js ise Discord.js için gereklidir, Discord.js Node.js'nin bir modülü gibidir.
Önce node.js kurulmalıdır, yoksa botu başlatamazsınız.

Sonra da node.js'ye Discord.js kütüphanesi (Modülü) eklenmelidir, bu da npm i discord.js ile eklenir. Projenize yeni özellikler eklemek için yine bu şekilde kütüphaneler yüklersiniz. Mesela hava durumu, şekilliyazı için vb. Genelde npm i modüladı şeklinde kurulur.

Sonrası da zaten malum, botun kimliğini belirleyip, yani ismini, botun .js dosyasını belirliyorsunuz. Sonra da o belirlediğiniz .js dosyasını açıp, kodlamaya başlıyorsunuz.

En yalın kod böyledir, botun tokenii bot olduğu burayla belirlenir, sonrası keyfinize kalmış:
Ve Atom veya Visual gibi programlarla çalışmanızı tavsiye ederim.
JavaScript:
const Discord = require('discord.js'); //Bu discord.js modülü gerektir anlamına gelir mesela
const client = new Discord.Client();

client.on('ready', () => {
  console.log(`Logged in as ${client.user.tag}!`); //bu bot hazır olunca, CMD paneline log gönderir, hazır diye, bu da zorunlu değil, ama botun çalıştığı belli olsun diyedir, yani olması daha iyi.
});

client.on('message', msg => {
  if (msg.content === 'ping') {  //bu komut ise birisi ping derse ona pong demesini sağlıyor, yani özelleştirilebilir. olmasa da olan şeydir bu da.
    msg.reply('Pong!');
  }
});

client.login('token'); // bu da botun tokenini girdiğiniz bölüm.
Bu kod dc.js nin sitesindeki temel koddur.
İsterseniz, discorddan yardım edebilirim.
Yani bot un sadece token ve const yazanlara ihtiyacı var, gerisi özelleştirilebilir.
Ben olsam bilen kişilerle muhattap olurdum.
 
Son düzenleme:
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…