npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

discord.js-vsc

v1.0.1

Published

VSC Discord Bot Module - Ban System, Voice System, Status Role System

Readme

🚀 VSC Discord Bot Modülü

Discord botları için geliştirilmiş kapsamlı bir modül. Ban sistemi, ses sistemi ve durum rol sistemi gibi özellikleri içerir.

License: MIT Node.js Discord.js GitHub stars GitHub forks NPM version NPM downloads

📋 İçindekiler

✨ Özellikler

🛡️ Ban Sistemi (ikiban())

  • Otomatik Ban/Kick: Ana sunucudan ayrılan kullanıcıları otomatik olarak yan sunucudan banlar/kickler
  • Çapraz Sunucu Yönetimi: Farklı sunucular arası ban sistemi
  • Özelleştirilebilir Sebepler: Ban sebebini özelleştirebilirsiniz
  • Log Sistemi: Ban işlemlerini belirtilen kanala loglar
  • Ban/Kick Seçeneği: İstediğiniz işlemi seçebilirsiniz

🎵 Ses Sistemi (ses())

  • Otomatik Bağlanma: Bot belirtilen ses kanalına otomatik bağlanır
  • Otomatik Yeniden Bağlanma: Bağlantı kesildiğinde otomatik olarak yeniden bağlanır
  • Ses Kanalı Yönetimi: Ses kanallarını kolayca yönetebilirsiniz

🏷️ Durum Rol Sistemi (durumrol())

  • Otomatik Rol Verme: Kullanıcının özel durumuna göre otomatik rol verir
  • Gerçek Zamanlı İzleme: Durum değişikliklerini anında takip eder
  • Özel Durum Eşleştirme: Belirttiğiniz metni içeren durumlara rol verir
  • Log Sistemi: Rol verme/alma işlemlerini loglar

🎵 Welcome Sistemi (welcome())

  • Otomatik Ses Çalma: Ses kanalına giren kullanıcılara özel sesler çalar
  • Yetkili Kontrolü: Yetkili rolüne sahip kullanıcılar için farklı ses
  • Tek Seferlik Çalma: Ses dosyaları bir kez çalar, sürekli tekrar etmez
  • Arkaplan Sesi: Kimse yokken sessiz arkaplan sesi çalar
  • Otomatik Bağlanma: Bot belirtilen ses kanalına otomatik bağlanır

📦 Kurulum

Gereksinimler

  • Node.js 20.19.3 veya üzeri
  • Discord.js 14.14.1 veya üzeri
  • Discord Bot Token'ı

Modülü Yükleme

npm install discord.js-vsc

Discord Bot Oluşturma

  1. Discord Developer Portal'a gidin
  2. "New Application" butonuna tıklayın
  3. Bot sekmesine gidin ve "Add Bot" butonuna tıklayın
  4. Token'ı kopyalayın ve güvenli bir yerde saklayın
  5. Gerekli izinleri verin (aşağıda listelenmiştir)

🚀 Hızlı Başlangıç

Temel Kurulum

const Oxy = require('discord.js-vsc');
const { Client, GatewayIntentBits } = require('discord.js');

// Discord client'ını oluştur
const client = new Client({
  intents: [
    GatewayIntentBits.Guilds,
    GatewayIntentBits.GuildMembers,
    GatewayIntentBits.GuildMessages,
    GatewayIntentBits.MessageContent,
    GatewayIntentBits.GuildPresences,
    GatewayIntentBits.GuildVoiceStates
  ]
});

// VSC modülünü başlat
const bot = new Oxy(client);

// Sistemleri yapılandır
bot.ikiban({
  main: 'ANA_SUNUCU_ID',
  yan: 'YAN_SUNUCU_ID',
  bansebep: 'Ana sunucudan ayrıldığı için atıldı.',
  log: 'LOG_KANAL_ID',
  action: 'ban'
});

bot.ses({
  seskanali: 'SES_KANAL_ID',
  sunucu: 'SUNUCU_ID'
});

bot.durumrol({
  guildid: 'SUNUCU_ID',
  rolid: 'ROL_ID',
  durum: 'vsc',
  log: 'LOG_KANAL_ID'
});

welcome({
  hosgeldin: './hosgeldin.mp3',
  yetkili: './yetkili.mp3',
  arkaplan: './silence.mp3',
  seslikanalid: 'SES_KANAL_ID',
  adminrolid: 'YETKILI_ROL_ID'
});

// Bot'u başlat
client.login('BOT_TOKEN');

📖 Detaylı Kullanım

🛡️ Ban Sistemi Detayları

Parametreler

  • main (zorunlu): Ana sunucu ID'si
  • yan (zorunlu): Yan sunucu ID'si
  • bansebep (opsiyonel): Ban sebebi (varsayılan: "Ana sunucudan ayrıldığı için atıldı.")
  • log (opsiyonel): Log kanalı ID'si
  • action (opsiyonel): İşlem türü - "ban" veya "kick" (varsayılan: "ban")

Nasıl Çalışır?

  1. Kullanıcı ana sunucudan ayrılır
  2. Sistem otomatik olarak yan sunucuda kullanıcıyı arar
  3. Kullanıcı bulunursa belirtilen işlemi (ban/kick) yapar
  4. Log kanalı belirtilmişse işlemi loglar

Örnek Kullanım

bot.ikiban({
  main: '1234567890123456789',      // Ana sunucu
  yan: '9876543210987654321',       // Yan sunucu
  bansebep: 'Ana sunucudan ayrıldığı için atıldı.',
  log: '1234567890123456789',       // Log kanalı
  action: 'ban'                     // Ban işlemi
});

🎵 Ses Sistemi Detayları

Parametreler

  • seskanali (zorunlu): Ses kanalı ID'si
  • sunucu (zorunlu): Sunucu ID'si

Nasıl Çalışır?

  1. Bot başlatıldığında belirtilen ses kanalına otomatik bağlanır
  2. Bağlantı kesildiğinde 2 saniye bekler ve yeniden bağlanmaya çalışır
  3. Sürekli olarak bağlantı durumunu kontrol eder

Örnek Kullanım

bot.ses({
  seskanali: '1234567890123456789', // Ses kanalı ID'si
  sunucu: '1234567890123456789'     // Sunucu ID'si
});

🏷️ Durum Rol Sistemi Detayları

Parametreler

  • guildid (zorunlu): Sunucu ID'si
  • rolid (zorunlu): Verilecek rol ID'si
  • durum (zorunlu): Aranacak durum metni
  • log (opsiyonel): Log kanalı ID'si

Nasıl Çalışır?

  1. Kullanıcının özel durumu değiştiğinde sistem kontrol eder
  2. Durum içeriğinde belirtilen metin varsa rol verir
  3. Metin yoksa rolü alır
  4. Log kanalı belirtilmişse işlemi loglar

Örnek Kullanım

bot.durumrol({
  guildid: '1234567890123456789',   // Sunucu ID'si
  rolid: '1234567890123456789',     // Rol ID'si
  durum: 'vsc',                     // Aranacak metin
  log: '1234567890123456789'        // Log kanalı
});

🎵 Welcome Sistemi Detayları

Parametreler

  • hosgeldin (zorunlu): Normal kullanıcılar için ses dosyası yolu
  • yetkili (zorunlu): Yetkili kullanıcılar için ses dosyası yolu
  • arkaplan (zorunlu): Arkaplan ses dosyası yolu
  • seslikanalid (zorunlu): Botun gireceği ses kanalı ID'si
  • adminrolid (zorunlu): Yetkili rolü ID'si

Nasıl Çalışır?

  1. Bot belirtilen ses kanalına otomatik bağlanır
  2. Kullanıcı ses kanalına girdiğinde:
    • Yetkili varsa: yetkili.mp3 bir kez çalar
    • Normal kullanıcı varsa: hosgeldin.mp3 bir kez çalar
    • Kimse yoksa: silence.mp3 (sessiz) çalar
  3. Ses dosyaları sürekli tekrar etmez, sadece yeni kullanıcı geldiğinde çalar

Örnek Kullanım

welcome({
  hosgeldin: './hosgeldin.mp3',     // Normal kullanıcı sesi
  yetkili: './yetkili.mp3',         // Yetkili sesi
  arkaplan: './silence.mp3',        // Arkaplan sesi
  seslikanalid: '1234567890123456789', // Ses kanalı ID
  adminrolid: '1234567890123456789'     // Yetkili rol ID
});

💡 Örnekler

Tam Örnek Proje

const Oxy = require('discord.js-vsc');
const { Client, GatewayIntentBits } = require('discord.js');

// Bot token'ınızı buraya yazın
const BOT_TOKEN = 'YOUR_BOT_TOKEN_HERE';

// Discord client'ını oluştur
const client = new Client({
  intents: [
    GatewayIntentBits.Guilds,
    GatewayIntentBits.GuildMembers,
    GatewayIntentBits.GuildMessages,
    GatewayIntentBits.MessageContent,
    GatewayIntentBits.GuildPresences,
    GatewayIntentBits.GuildVoiceStates
  ]
});

// VSC modülünü başlat
const bot = new Oxy(client);

// Ban Sistemi - Ana sunucudan ayrılanları yan sunucudan banla
bot.ikiban({
  main: '1406592502810542140',           // Ana sunucu
  yan: '1406998013192179893',            // Yan sunucu
  bansebep: 'Ana sunucudan ayrıldığı için atıldı.',
  log: '1406592834227929130',            // Log kanalı
  action: 'ban'                          // Ban işlemi
});

// Ses Sistemi - Belirtilen ses kanalına otomatik bağlan
bot.ses({
  seskanali: '1406602193670373467',      // Ses kanalı
  sunucu: '1406592502810542140'          // Sunucu
});

// Durum Rol Sistemi - "vsc" yazanlara rol ver
bot.durumrol({
  guildid: '1406592502810542140',        // Sunucu
  rolid: '1406593872254992507',          // Rol
  durum: 'vsc',                          // Aranacak metin
  log: '1406592834227929130'             // Log kanalı
});

// Welcome Sistemi - Ses kanalına girenlere özel sesler
welcome({
  hosgeldin: './hosgeldin.mp3',          // Normal kullanıcı sesi
  yetkili: './yetkili.mp3',              // Yetkili sesi
  arkaplan: './silence.mp3',             // Arkaplan sesi
  seslikanalid: '1406602193670373467',   // Ses kanalı
  adminrolid: '1406593872254992507'      // Yetkili rol
});

// Bot hazır olduğunda
client.on('ready', () => {
  console.log(`${client.user.tag} olarak giriş yapıldı!`);
  console.log('VSC Sistemleri aktif!');
  
  // Sunucuları listele
  console.log('Bot bulunduğu sunucular:');
  client.guilds.cache.forEach(guild => {
    console.log(`- ${guild.name} (${guild.id})`);
  });
});

// Hata yakalama
client.on('error', (error) => {
  console.error('Bot hatası:', error);
});

process.on('unhandledRejection', (error) => {
  console.error('Yakalanmamış hata:', error);
});

// Bot'u başlat
client.login(BOT_TOKEN);

Farklı Konfigürasyon Örnekleri

Sadece Ban Sistemi

const bot = new Oxy(client);

bot.ikiban({
  main: 'ANA_SUNUCU_ID',
  yan: 'YAN_SUNUCU_ID'
});

Sadece Ses Sistemi

const bot = new Oxy(client);

bot.ses({
  seskanali: 'SES_KANAL_ID',
  sunucu: 'SUNUCU_ID'
});

Sadece Durum Rol Sistemi

const bot = new Oxy(client);

bot.durumrol({
  guildid: 'SUNUCU_ID',
  rolid: 'ROL_ID',
  durum: 'vsc'
});

Sadece Welcome Sistemi

const bot = new Oxy(client);

welcome({
  hosgeldin: './hosgeldin.mp3',
  yetkili: './yetkili.mp3',
  arkaplan: './silence.mp3',
  seslikanalid: 'SES_KANAL_ID',
  adminrolid: 'YETKILI_ROL_ID'
});

⚠️ Hata Yönetimi

Gerekli İzinler

Bot'un aşağıdaki izinlere sahip olması gerekir:

Ban Sistemi İçin:

  • Ban Members - Kullanıcıları banlamak için
  • Kick Members - Kullanıcıları kicklemek için
  • Send Messages - Log mesajları göndermek için
  • Embed Links - Embed mesajları göndermek için

Ses Sistemi İçin:

  • Connect - Ses kanallarına bağlanmak için
  • Speak - Ses kanalında konuşmak için

Durum Rol Sistemi İçin:

  • Manage Roles - Rolleri yönetmek için
  • Send Messages - Log mesajları göndermek için
  • Embed Links - Embed mesajları göndermek için

Welcome Sistemi İçin:

  • Connect - Ses kanallarına bağlanmak için
  • Speak - Ses kanalında konuşmak için
  • Use Voice Activity - Ses aktivitesi kullanmak için

Intent Gereksinimleri

const client = new Client({
  intents: [
    GatewayIntentBits.Guilds,           // Sunucu bilgileri
    GatewayIntentBits.GuildMembers,     // Üye bilgileri
    GatewayIntentBits.GuildPresences,   // Durum bilgileri
    GatewayIntentBits.GuildVoiceStates, // Ses durumları
    GatewayIntentBits.GuildMessages,    // Mesaj bilgileri
    GatewayIntentBits.MessageContent    // Mesaj içerikleri
  ]
});

Yaygın Hatalar ve Çözümleri

"Missing Permissions" Hatası

  • Bot'un gerekli izinlere sahip olduğundan emin olun
  • Bot'un rolünün yeterince yüksek olduğunu kontrol edin

"Unknown Role" Hatası

  • Rol ID'sinin doğru olduğundan emin olun
  • Rolün sunucuda mevcut olduğunu kontrol edin

"Channel Not Found" Hatası

  • Kanal ID'sinin doğru olduğundan emin olun
  • Bot'un kanala erişim izninin olduğunu kontrol edin

🔄 Sürüm Kontrolü

Modül otomatik olarak NPM registry'den güncellemeleri kontrol eder.

Sürüm Bilgilerini Kontrol Etme

const Oxy = require('discord.js-vsc');

// Mevcut sürümü göster
console.log('Mevcut sürüm:', Oxy.VERSION);

// Bot instance ile kontrol
const bot = new Oxy(client);

// Manuel güncelleme kontrolü
(async () => {
  const isUpToDate = await bot.isUpToDate();
  if (!isUpToDate) {
    console.log('Güncelleme mevcut!');
    await bot.checkForUpdates();
  }
})();

Güncelleme Mesajları

⚠️  GÜNCELLEME UYARISI!
📦 Mevcut sürüm: 1.0.0
🆕 En son sürüm: 1.1.0
🔗 Güncellemek için: npm update discord.js-vsc
💡 Yeni özellikler ve hata düzeltmeleri için güncelleyin!

📄 Lisans

Bu proje MIT Lisansı altında lisanslanmıştır - detaylar için LICENSE dosyasına bakın.

Atıf Gereksinimleri

Bu kodu kullanırken, değiştirirken veya dağıtırken şunları dahil etmelisiniz:

  • Yazar: hasbutcu
  • Repository: https://github.com/hasbutcu/discord.js-vsc
  • Copyright: Copyright (c) 2025 hasbutcu

Orijinal kodun sahipliğini iddia etmeyin. Her zaman orijinal yazara uygun kredi verin.

🆘 Destek

Sorun Bildirme

Bir hata bulduysanız veya öneriniz varsa:

  1. GitHub Issues sayfasına gidin
  2. Yeni bir issue oluşturun
  3. Hata detaylarını ve kod örneklerini paylaşın

İletişim

Sık Sorulan Sorular

Q: Bot neden ses kanalına bağlanmıyor?

A: Bot'un "Connect" ve "Speak" izinlerinin olduğundan emin olun.

Q: Ban sistemi çalışmıyor, ne yapmalıyım?

A: Bot'un "Ban Members" izninin olduğunu ve rolünün yeterince yüksek olduğunu kontrol edin.

Q: Durum rol sistemi çalışmıyor?

A: Bot'un "Manage Roles" izninin olduğunu ve rolünün verilecek rolden yüksek olduğunu kontrol edin.

Q: Log mesajları gelmiyor?

A: Bot'un log kanalında "Send Messages" ve "Embed Links" izinlerinin olduğunu kontrol edin.

Q: Welcome sistemi ses çalmıyor?

A: Bot'un "Connect" ve "Speak" izinlerinin olduğunu ve ses dosyalarının doğru yolda olduğunu kontrol edin.

Q: Ses dosyaları sürekli tekrar ediyor?

A: Bu sorun düzeltildi. Artık ses dosyaları sadece yeni kullanıcı geldiğinde bir kez çalar.

🔗 Faydalı Linkler

📊 Proje İstatistikleri

GitHub stars GitHub forks GitHub issues GitHub pull requests NPM downloads


VSC Discord Bot Modülü v1.0.0 - ❤️ ile hasbutcu tarafından geliştirildi

⭐ Bu projeyi beğendiyseniz yıldız vermeyi unutmayın!