Rehber Discord Bot Yapım Dersleri #5 -

Katılım
8 Nisan 2020
Mesajlar
6.568
Makaleler
7
Çözümler
64
Yer
Mile Marker LN 29.5, 51 Area.
Merhabalar. Discord Bot Yapım derslerinin 5. rehberi ile karşınızdayım. Bugün sizlerle birlikte bir oylama sistemi yapacağız.

Gerekli modüller: discord.js

[CODE lang="javascript" title="Oylama Kodu"]
const Discord = require("discord.js");
exports.run = (client, message, args) => {
let question = args.join(" ");
let user = message.author.username;
if (!question)
return message.channel
.send(
new Discord.MessageEmbed().setAuthor("Bir hata meydana geldi!").setColor("RED").setDescription("Lütfen oylama yapılacak şeyi yazınız!")
)
.then(m => m.delete(10000));
message.channel.send(
new Discord.MessageEmbed()
.setColor("GREEN")
.setThumbnail(client.user.avatarURL())
.setTimestamp()
.setAuthor(`${message.author.tag} bir oylama yaptı!`)
.setFooter("Emojilere basarak oy verebilirsiniz.")
.addField(`**Oylama Yapılan Şey**`, `**${question}**`)
)
.then(function(message) {
message.react("✅");
message.react("❌");
});
};
exports.conf = {
enabled: true,
guildOnly: false,
aliases: ["oylama"],
permLevel: 2
};
exports.help = {
name: "oylama",
description: "Oylama yapmanızı sağlar."
};
[/CODE]

Kodumuz bu şekilde. Şimdi ise hangi kodun ne işe yaradığına bakalım.

JavaScript:
if (!question)
    return message.channel
      .send(
        new Discord.MessageEmbed().setAuthor("Bir hata meydana geldi!").setColor("RED").setDescription("Lütfen oylama yapılacak şeyi yazınız!")
      )
     .then(m => m.delete(10000));

Bu kodda eğer oylamayı yapan kişi bir oylama içeriği belirtmez ise ona aşağıdaki gibi bir yanıt vermesini söylüyoruz. Aşağıdaki .then(m => m.delete(10000)); yeri mesajın 10 saniye sonra otomatik olarak silineceğini gösteriyor.

JavaScript:
message.channel.send(
      new Discord.MessageEmbed()
        .setColor("GREEN")
        .setThumbnail(client.user.avatarURL())
        .setTimestamp()
        .setAuthor(`${message.author.tag} bir oylama yaptı!`)
        .setFooter("Emojilere basarak oy verebilirsiniz.")
        .addField(`**Oylama Yapılan Şey**`, `**${question}**`)
    )

Burada eğer oylama içeriği girilmiş ise aşağıdaki gibi bir yanıt vermesi gerektiğini yazıyoruz.

JavaScript:
 .then(function(message) {
      message.react("✅");
      message.react("❌");
    });
Ardından burada mesaja ve şeklinde tepki bırakması gerektiğini söylüyoruz. Bu şekilde insanlar oylarını belirtebilecekler.

Kod şu şekilde çalışıyor;

oylama.PNG


Komut bu şekilde çalışıyor.

Sorularınızı sormaktan çekinmeyin, istek kodları da aşağıya yazabilirsiniz.

Not: Bazı kişiler benim kodlarımı kullanıp beni bilgisiz gibi göstermeye çalışıyor, lütfen bu tür şeyler de yapmayın.
 
Peki bu kodları siz kimden aldınız acaba? Söylemek istemedim pek ama, sizin kodları araştırınca yabancı kaynaklarda çıktı. Yine de eline sağlık.
Hocam Türkçeye çevirmek de bir emektir. Sonuçta herkesin İngilizcesi olmayabilir ve bu konu da onlar için yararlıdır. Bence emek var, eline sağlık.
 
Arkadaşlar kodları sıfırdan üretecek hali yok, zaten belirli bir dökümandan ulaşılıyor. Onca saçma konu, saçma yorum varken bir şeylerle uğraşanların hevesini kırmaya gerek yok. Emek verip, başka bir yerden kopyalasa bile öğrenip ,ki yazılım dünyasında hangimiz kopyalamıyoruz, burada paylaşıyor. Tebrik ederim.
 
Arkadaşlar kodları sıfırdan üretecek hali yok, zaten belirli bir dökümandan ulaşılıyor. Onca saçma konu, saçma yorum varken bir şeylerle uğraşanların hevesini kırmaya gerek yok. Emek verip, başka bir yerden kopyalasa bile öğrenip ,ki yazılım dünyasında hangimiz kopyalamıyoruz, burada paylaşıyor. Tebrik ederim.
Hocam Türkçeye çevirmek de bir emektir. Sonuçta herkesin İngilizcesi olmayabilir ve bu konu da onlar için yararlıdır. Bence emek var, eline sağlık.
Teşekkür ederim.
 
Arkadaşlar kodları sıfırdan üretecek hali yok, zaten belirli bir dökümandan ulaşılıyor. Onca saçma konu, saçma yorum varken bir şeylerle uğraşanların hevesini kırmaya gerek yok. Emek verip, başka bir yerden kopyalasa bile öğrenip ,ki yazılım dünyasında hangimiz kopyalamıyoruz, burada paylaşıyor. Tebrik ederim.
Stackoverflow'dan kod kopyalamayan kendine yazılımcı demesin aga.
 

Geri
Yukarı