Kod Discord.js ShardingManager Kullanımı

  • Konuyu Başlatan Konuyu Başlatan WxTimer
  • Başlangıç tarihi Başlangıç tarihi

Hoş Geldiniz!

Discordev'e Kayıt Olduğunuzda, topluluğumuzun diğer üyeleriyle tartışabilir, paylaşımda bulunabilir ve özel mesajlaşabilirsiniz.

Hemen Kayıt Ol!
  • Konu Yazar
Merhaba arkadaşlar, bu konuda Discord botlarınızda **ShardingManager** ile botunuzu shard’lara ayırmayı göstereceğim.
Bu yöntem özellikle çok sunuculu botlarda **performans ve stabilite** sağlar.

🔧 Özellikler​

  • Çok sunuculu botlar için otomatik shard yönetimi
  • Shard başlatma ve günlük loglama
  • Manuel veya otomatik shard sayısı belirleme

---

📂 ShardingManager Kodu​


Kod:
// ShardingManager'ı discord.js'den içe aktarın
const { ShardingManager } = require("discord.js");

// Yapılandırma dosyasını içe aktar
const config = require("./config.json");

// Eski başlangıç dosyanızın genellikle index.js olarak adlandırıldığı dosyayı kullanın
const shards = new ShardingManager("./index.js", {
  token: config.token, // Bot token
  totalShards: "auto", // "auto" ile bot sunucu sayısına göre otomatik shard açar
  // isterseniz manuel shard sayısı belirleyebilirsiniz:
  // totalShards: 2
});

// Shard oluşturulduğunda günlük logu
shards.on("shardCreate", shard => 
  console.log(` || <==> || [${String(new Date()).split(" ", 5).join(" ")}] || <==> || Başlatılan Shard #${shard.id} || <==> ||`)
);

// Shardları başlat
shards.spawn(shards.totalShards, 10000);

// Not: Botu çalıştırmak için "node shards.js" komutunu kullanın

---

📖 Açıklama​

  • **ShardingManager**: Botu shard’lara ayıran ve yöneten sınıftır.
  • **totalShards: "auto"**: Sunucu sayısına göre otomatik shard sayısı belirler.
  • **shards.spawn()**: Tüm shard’ları başlatır, ikinci parametre ile başlatma gecikmesini milisaniye olarak belirleyebilirsiniz.
  • **shardCreate event**: Her shard açıldığında log verir.

---

✅ Bu yapı ile botunuz büyük sunucularda daha stabil çalışır ve performans problemlerini azaltabilirsiniz.
 
Geri
Üst