discord.js-vsc
v1.0.1
Published
VSC Discord Bot Module - Ban System, Voice System, Status Role System
Maintainers
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.
📋 İç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-vscDiscord Bot Oluşturma
- Discord Developer Portal'a gidin
- "New Application" butonuna tıklayın
- Bot sekmesine gidin ve "Add Bot" butonuna tıklayın
- Token'ı kopyalayın ve güvenli bir yerde saklayın
- 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'siyan(zorunlu): Yan sunucu ID'sibansebep(opsiyonel): Ban sebebi (varsayılan: "Ana sunucudan ayrıldığı için atıldı.")log(opsiyonel): Log kanalı ID'siaction(opsiyonel): İşlem türü - "ban" veya "kick" (varsayılan: "ban")
Nasıl Çalışır?
- Kullanıcı ana sunucudan ayrılır
- Sistem otomatik olarak yan sunucuda kullanıcıyı arar
- Kullanıcı bulunursa belirtilen işlemi (ban/kick) yapar
- 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'sisunucu(zorunlu): Sunucu ID'si
Nasıl Çalışır?
- Bot başlatıldığında belirtilen ses kanalına otomatik bağlanır
- Bağlantı kesildiğinde 2 saniye bekler ve yeniden bağlanmaya çalışır
- 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'sirolid(zorunlu): Verilecek rol ID'sidurum(zorunlu): Aranacak durum metnilog(opsiyonel): Log kanalı ID'si
Nasıl Çalışır?
- Kullanıcının özel durumu değiştiğinde sistem kontrol eder
- Durum içeriğinde belirtilen metin varsa rol verir
- Metin yoksa rolü alır
- 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ı yoluyetkili(zorunlu): Yetkili kullanıcılar için ses dosyası yoluarkaplan(zorunlu): Arkaplan ses dosyası yoluseslikanalid(zorunlu): Botun gireceği ses kanalı ID'siadminrolid(zorunlu): Yetkili rolü ID'si
Nasıl Çalışır?
- Bot belirtilen ses kanalına otomatik bağlanır
- Kullanıcı ses kanalına girdiğinde:
- Yetkili varsa:
yetkili.mp3bir kez çalar - Normal kullanıcı varsa:
hosgeldin.mp3bir kez çalar - Kimse yoksa:
silence.mp3(sessiz) çalar
- Yetkili varsa:
- 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çinKick Members- Kullanıcıları kicklemek içinSend Messages- Log mesajları göndermek içinEmbed Links- Embed mesajları göndermek için
Ses Sistemi İçin:
Connect- Ses kanallarına bağlanmak içinSpeak- Ses kanalında konuşmak için
Durum Rol Sistemi İçin:
Manage Roles- Rolleri yönetmek içinSend Messages- Log mesajları göndermek içinEmbed Links- Embed mesajları göndermek için
Welcome Sistemi İçin:
Connect- Ses kanallarına bağlanmak içinSpeak- Ses kanalında konuşmak içinUse 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:
- GitHub Issues sayfasına gidin
- Yeni bir issue oluşturun
- Hata detaylarını ve kod örneklerini paylaşın
İletişim
- Discord: hasbutcu
- GitHub: @hasbutcu
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
VSC Discord Bot Modülü v1.0.0 - ❤️ ile hasbutcu tarafından geliştirildi
⭐ Bu projeyi beğendiyseniz yıldız vermeyi unutmayın!
