Selam MC-TR ailesi. Uzun süre ardından yeni bir rehber konusuyla karşınızdayım.
Bu konumuzda sizlere discord.js kütüphanesini kullanarak nasıl başarım kazanma görseli yapabileceğimizi anlatacağım.
İlk başta kodu anlamayanlar için örnek bir görsel gösterelim.
Gördüğünüz gibi komutumuz bu şekilde olacak.
İlk öncelikle yeni bir dosya oluşturuyoruz ve kodlama dilini JavaScript olarak değiştiriyoruz.
Ardından aşağıdaki kodu dosyanın en üstüne ekliyoruz. Bu kodu eklediğimiz zaman discord.js ve snekfetch kütüphanelerini kullandığımızı belirmiş olacağız.
Bu konumuzda sizlere discord.js kütüphanesini kullanarak nasıl başarım kazanma görseli yapabileceğimizi anlatacağım.
İlk başta kodu anlamayanlar için örnek bir görsel gösterelim.
Gördüğünüz gibi komutumuz bu şekilde olacak.
İlk öncelikle yeni bir dosya oluşturuyoruz ve kodlama dilini JavaScript olarak değiştiriyoruz.
Ardından aşağıdaki kodu dosyanın en üstüne ekliyoruz. Bu kodu eklediğimiz zaman discord.js ve snekfetch kütüphanelerini kullandığımızı belirmiş olacağız.
JavaScript:
const Discord = require('discord.js');
const snekfetch = require('snekfetch');
Kütüphanemizi de belirttiğimize göre şimdi başlayabiliriz. Öncelikle modülümüzü ekleyelim.
JavaScript:
exports.run = (client, message, args) => {
Modülümüzü ekledik. Şimdi başlık belirtilmezse başlığı otomatik olarak Basarim Kazanildi! yapmasını ve koda - eklendiği zaman açıklamaya geçmesini ayarlayacağız.
JavaScript:
let [title, contents] = args.join(" ").split("-");
if(!contents) {
[title, contents] = ["Basarim Kazanildi", title];
}
Bunu da ayarladık. Şimdi ayarlayacağımız şey aşağıda fotoğrafını göstereceğim küçük resim ikonlarını rastgeleleştirme.
Gördüğünüz gibi kırmızıyla işaretlediğim yerde bir ikon var. Bunun rastgele olarak değişmesini sağlayacağız.
JavaScript:
let rnd = Math.floor((Math.random() * 39) + 1);
if(args.join(" ").toLowerCase().includes("burn")) rnd = 38;
if(args.join(" ").toLowerCase().includes("cookie")) rnd = 21;
if(args.join(" ").toLowerCase().includes("cake")) rnd = 10;
if(args.join(" ").toLowerCase().includes("sword")) rnd = 34;
Bunu da hallettiğimize göre artık açık kapatma zamanı geldi. Eğer başlık veya açıklama 22 karakteri geçerse yazılar dışarı taşacak ve çirkin bir görüntü oluşacak. Bunu engellemek için aşağıdaki kodu ekliyoruz.
JavaScript:
if(title.length > 22 || contents.length > 22) return message.channel.send("Maksimum uzunluk 22 karakter.").then(message.delete.bind(message), 2000);
Yukarıdaki kod sayesinde eğer başlık veya açıklama 22 karakteri geçmişse Maksimum uzunluk 22 karakter mesajını gönderecek.
Geriye bir şey kalmadı, mesajın gönderilmesini ayarlayacağız. Aşağıda ekleyeceğimiz kod sayesinde botumuz apiden ikonları alacak ve mesaj gönderilmiş olacak.
Geriye bir şey kalmadı, mesajın gönderilmesini ayarlayacağız. Aşağıda ekleyeceğimiz kod sayesinde botumuz apiden ikonları alacak ve mesaj gönderilmiş olacak.
JavaScript:
const url = `https://www.minecraftskinstealer.com/achievement/a.php?i=${rnd}&h=${encodeURIComponent(title)}&t=${encodeURIComponent(contents)}`;
snekfetch.get(url)
.then(r=>message.channel.send("", {files:[{attachment: r.body}]}));
Tamamdır. Şimdi modülü kapatıyoruz ve kodumuz tamamlanmış oluyor.
JavaScript:
};
Kodun bitmiş hali:
JavaScript:
const Discord = require('discord.js');
const snekfetch = require('snekfetch');
exports.run = (client, message, args) => {
let [title, contents] = args.join(" ").split("-");
if(!contents) {
[title, contents] = ["Basarim Kazanildi", title];
}
let rnd = Math.floor((Math.random() * 39) + 1);
if(args.join(" ").toLowerCase().includes("burn")) rnd = 38;
if(args.join(" ").toLowerCase().includes("cookie")) rnd = 21;
if(args.join(" ").toLowerCase().includes("cake")) rnd = 10;
if(args.join(" ").toLowerCase().includes("sword")) rnd = 34;
if(title.length > 22 || contents.length > 22) return message.channel.send("Maksimum uzunluk 22 karakter.").then(message.delete.bind(message), 2000);
const url = `https://www.minecraftskinstealer.com/achievement/a.php?i=${rnd}&h=${encodeURIComponent(title)}&t=${encodeURIComponent(contents)}`;
snekfetch.get(url)
.then(r=>message.channel.send("", {files:[{attachment: r.body}]}));
};