Discord.js Gelişmiş Geçici Oda Sistemi! (Fazlalık Odalara Son)

Katılım
10 Kas 2019
Konular
225
Mesajlar
1,057
Çözümler
19
Tepki puanı
1,049
Puanları
8,710
Eminim ki Discord üstünde çoğunuz fazlalık odalardan nefret ediyorsunuz.
Merak etmeyin yalnız değilsiniz.
Bende çok oda olmasını istemem Discord sunucumda. Neden diyecek olan arkadaşlar tabii ki vardır.
Onlara şunu söylemek isterim. Bir kanal var ve bu kanal aşağıda kaldığı zaman o kanalı çoğu insan bulamaz.
Sürekli size soru gelir kanalı bulamadığına dair.

JavaScript kodlaması ile bunu nasıl götürebileceğinizi aşağıda tarif ediyorum lütfen dikkatli okuyun.

İlk olarak bu işlemi yapabilmek için bize bir adet Discord botu lazım.
Bu sistemi kendi botunuza ekleyerek sizde fazla odalardan kurtulabilirsiniz.
Öncelikle aşağıda vermiş olduğum kodlamayı kopyaların ve main dosyanız neredeyse oraya yapıştırın.
Kod:
client.on('voiceStateUpdate', (oldMember, newMember) => {
    // todo create channel
    if (newMember.voiceChannel != null && newMember.voiceChannel.name.startsWith('➕│2 Kişilik Oda')) {
        newMember.guild.createChannel(`║👤 ${newMember.displayName}`, {
            type: 'voice',
            parent: newMember.voiceChannel.parent
       }).then(cloneChannel => {
        newMember.setVoiceChannel(cloneChannel)
        cloneChannel.setUserLimit(2)
      })
    }
    // ! leave
    if (oldMember.voiceChannel != undefined) {
        if (oldMember.voiceChannel.name.startsWith('║👤 ')) {
            if (oldMember.voiceChannel.members.size == 0) {
                oldMember.voiceChannel.delete()
            }
            else { // change name
                let matchMember = oldMember.voiceChannel.members.find(x => `║👤 ${x.displayName}` == oldMember.voiceChannel.name);
                if (matchMember == null) {
                    oldMember.voiceChannel.setName(`║👤 ${oldMember.voiceChannel.members.random().displayName}`)
                }
            }
        }
    }
});

client.on('voiceStateUpdate', (oldMember, newMember) => {
    // todo create channel
    if (newMember.voiceChannel != null && newMember.voiceChannel.name.startsWith('➕│3 Kişilik Oda')) {
        newMember.guild.createChannel(`║👤 ${newMember.displayName}`, {
            type: 'voice',
            parent: newMember.voiceChannel.parent
       }).then(cloneChannel => {
        newMember.setVoiceChannel(cloneChannel)
        cloneChannel.setUserLimit(3)
      })
    }
    // ! leave
    if (oldMember.voiceChannel != undefined) {
        if (oldMember.voiceChannel.name.startsWith('║👤 ')) {
            if (oldMember.voiceChannel.members.size == 0) {
                oldMember.voiceChannel.delete()
            }
            else { // change name
                let matchMember = oldMember.voiceChannel.members.find(x => `║👤 ${x.displayName}` == oldMember.voiceChannel.name);
                if (matchMember == null) {
                    oldMember.voiceChannel.setName(`║👤 ${oldMember.voiceChannel.members.random().displayName}`)
                }
            }
        }
    }
});

client.on('voiceStateUpdate', (oldMember, newMember) => {
    // todo create channel
    if (newMember.voiceChannel != null && newMember.voiceChannel.name.startsWith('➕│4 Kişilik Oda')) {
        newMember.guild.createChannel(`║👤 ${newMember.displayName}`, {
            type: 'voice',
            parent: newMember.voiceChannel.parent
       }).then(cloneChannel => {
        newMember.setVoiceChannel(cloneChannel)
        cloneChannel.setUserLimit(4)
      })
    }
    // ! leave
    if (oldMember.voiceChannel != undefined) {
        if (oldMember.voiceChannel.name.startsWith('║👤 ')) {
            if (oldMember.voiceChannel.members.size == 0) {
                oldMember.voiceChannel.delete()
            }
            else { // change name
                let matchMember = oldMember.voiceChannel.members.find(x => `║👤 ${x.displayName}` == oldMember.voiceChannel.name);
                if (matchMember == null) {
                    oldMember.voiceChannel.setName(`║👤 ${oldMember.voiceChannel.members.random().displayName}`)
                }
            }
        }
    }
});

Daha sonrasında bu işlemi yaptıktan sonra yapmanız gereken tek bir işlem kalıyor.
Discord sunucunuza gelin ve alttaki işlemleri yerine getirin.

2 Kişilik Odalar İsimli bir kategori oluşturun ve o kategoriye ➕│2 Kişilik Oda isimli ses kanalı oluşturun.

3 Kişilik Odalar İsimli bir kategori oluşturun ve o kategoriye ➕│3 Kişilik Oda isimli ses kanalı oluşturun.

4 Kişilik Odalar İsimli bir kategori oluşturun ve o kategoriye ➕│4 Kişilik Oda isimli ses kanalı oluşturun.

İşlemler alttaki işlemler gibi olacaktır.
Screenshot_1.png


Daha sonrasında bu ses kanallarına girdiğimiz zaman alttaki gibi olacaktır.
Screenshot_2.png


Tüm odalarda sistem bu şekilde ilerlemektedir.

Sistemin mantığı çok basit.
Sizde bu şekilde yaparak sunucunuzdaki fazlalık odalardan kurtulabilirsiniz.

Sistemde oynama yapmak isteyen arkadaşlar için

cloneChannel.setUserLimit(0-1-2-3-4---99)

Kısmından odanın liminiti değiştirebilirsiniz.
Örnek;
cloneChannel.setUserLimit(2)

Odanın ismini değiştirmek isteyen arkadaşlar için bir bölüm

if (newMember.voiceChannel != null && newMember.voiceChannel.name.startsWith('ODA İSMİNİ GİRİN')) {

Odanın ismini değiştirmek isteyen arkadaşlar bu bölümden değiştirebilir.
Örnek;

if (newMember.voiceChannel != null && newMember.voiceChannel.name.startsWith('➕│2 Kişilik Oda')) {


Diyelim ki bu işlemi komut ile yapmak istiyorsunuz
O halde alttaki kodlamayı main dosyanız neresi ise oraya atın.

JavaScript:
client.on('message', async message => {
  const ms = require('ms');
  const prefix = await require('quick.db').fetch(`prefix_${message.guild.id}`) || ayarlar.prefix
  const args = message.content.slice(prefix.length).trim().split(/ +/g);
  const command = args.shift().toLowerCase();
  let u = message.mentions.users.first() || message.author;
  if (command === "özelodasistemi") {
  if (message.guild.channels.find(channel => channel.name === "Bot Kullanımı")) return message.channel.send(" Zaten kurulu.")
  if (!message.member.hasPermission('ADMINISTRATOR'))
  return message.channel.send(" Bu Kodu `Yönetici` Yetkisi Olan Kişi Kullanabilir.");
    message.channel.send(`Özel Oda Sistemi Kuruluyor`)
    .then((collected) => {

message.guild.createChannel('2 Kişilik Odalar', 'category', [{
  id: message.guild.id,
}]);

message.guild.createChannel(`➕│2 Kişilik Oda`, 'voice')
.then(channel =>
      channel.setParent(message.guild.channels.find(channel => channel.name === "2 Kişilik Odalar")))

message.guild.createChannel('3 Kişilik Odalar ', 'category', [{
  id: message.guild.id,
}]);

message.guild.createChannel(`➕│3 Kişilik Oda`, 'voice')
.then(channel =>
      channel.setParent(message.guild.channels.find(channel => channel.name === "3 Kişilik Odalar ")))

message.guild.createChannel('4 Kişilik Odalar', 'category', [{
  id: message.guild.id,
}]);

message.guild.createChannel(`➕│4 Kişilik Oda`, 'voice')
.then(channel =>
      channel.setParent(message.guild.channels.find(channel => channel.name === "4 Kişilik Odalar ")))


            })
 
}
});


Bu şekilde yerleştirdikten sonra yapmanız gereken tek bir şey kalıyor.
Discord sunucunuza gelip yazı kanalınıza prefixiniz neyse (prefix)özelodasistemi
yazın ve otomatik olarak kanallar kurulacaktır.
Bu işlemi sadece yönetici yetkisine sahip olanlar kullanabilir içiniz rahat olsun.

Gönül rahatlığıyla kullanabilirsiniz.

İyi Forumlar Şehrin Sakinleri!​
 
Son düzenleme:
Katılım
2 Mar 2020
Konular
61
Mesajlar
365
Çözümler
3
Tepki puanı
397
Puanları
3,310
İşe yarayan bi konu olmuş. Keşke daha fazla bilgim olsa da bi bot yapabilsem ehe. İyi forumlar

Ellerinizi sık sık yıkamayı unutmayın :)
 
Katılım
8 Tem 2020
Konular
1
Mesajlar
3
Tepki puanı
0
Puanları
1,455
Aga Ben Niye Yapamadım Ana Dosyaya Attım Odaları Oluşturdum Ama Bot Tepki Vermiyor Modül Olarak Yüklemem Gereken Birşey Söylemiyorda Program Visual Code Studio İle Yapıyorum
 
Katılım
14 Tem 2020
Konular
0
Mesajlar
1
Tepki puanı
0
Puanları
0
Eline Sağlık Heryerde bunu arıyorum millet kendi discordlarına çağırmaktan başka bişeyler yapmıyor teşekürler
 
Katılım
10 Kas 2019
Konular
225
Mesajlar
1,057
Çözümler
19
Tepki puanı
1,049
Puanları
8,710
Eline Sağlık Heryerde bunu arıyorum millet kendi discordlarına çağırmaktan başka bişeyler yapmıyor teşekürler
İşe yaradığına sevindim dostum! Daha fazla kodlama için profilimi takip etmeyi unutma.
 
Katılım
11 Eyl 2020
Konular
0
Mesajlar
1
Tepki puanı
0
Puanları
0
Eminim ki Discord üstünde çoğunuz fazlalık odalardan nefret ediyorsunuz.
Merak etmeyin yalnız değilsiniz.
Bende çok oda olmasını istemem Discord sunucumda. Neden diyecek olan arkadaşlar tabii ki vardır.
Onlara şunu söylemek isterim. Bir kanal var ve bu kanal aşağıda kaldığı zaman o kanalı çoğu insan bulamaz.
Sürekli size soru gelir kanalı bulamadığına dair.

JavaScript kodlaması ile bunu nasıl götürebileceğinizi aşağıda tarif ediyorum lütfen dikkatli okuyun.

İlk olarak bu işlemi yapabilmek için bize bir adet Discord botu lazım.
Bu sistemi kendi botunuza ekleyerek sizde fazla odalardan kurtulabilirsiniz.
Öncelikle aşağıda vermiş olduğum kodlamayı kopyaların ve main dosyanız neredeyse oraya yapıştırın.
Kod:
client.on('voiceStateUpdate', (oldMember, newMember) => {
    // todo create channel
    if (newMember.voiceChannel != null && newMember.voiceChannel.name.startsWith('➕│2 Kişilik Oda')) {
        newMember.guild.createChannel(`║👤 ${newMember.displayName}`, {
            type: 'voice',
            parent: newMember.voiceChannel.parent
       }).then(cloneChannel => {
        newMember.setVoiceChannel(cloneChannel)
        cloneChannel.setUserLimit(2)
      })
    }
    // ! leave
    if (oldMember.voiceChannel != undefined) {
        if (oldMember.voiceChannel.name.startsWith('║👤 ')) {
            if (oldMember.voiceChannel.members.size == 0) {
                oldMember.voiceChannel.delete()
            }
            else { // change name
                let matchMember = oldMember.voiceChannel.members.find(x => `║👤 ${x.displayName}` == oldMember.voiceChannel.name);
                if (matchMember == null) {
                    oldMember.voiceChannel.setName(`║👤 ${oldMember.voiceChannel.members.random().displayName}`)
                }
            }
        }
    }
});

client.on('voiceStateUpdate', (oldMember, newMember) => {
    // todo create channel
    if (newMember.voiceChannel != null && newMember.voiceChannel.name.startsWith('➕│3 Kişilik Oda')) {
        newMember.guild.createChannel(`║👤 ${newMember.displayName}`, {
            type: 'voice',
            parent: newMember.voiceChannel.parent
       }).then(cloneChannel => {
        newMember.setVoiceChannel(cloneChannel)
        cloneChannel.setUserLimit(3)
      })
    }
    // ! leave
    if (oldMember.voiceChannel != undefined) {
        if (oldMember.voiceChannel.name.startsWith('║👤 ')) {
            if (oldMember.voiceChannel.members.size == 0) {
                oldMember.voiceChannel.delete()
            }
            else { // change name
                let matchMember = oldMember.voiceChannel.members.find(x => `║👤 ${x.displayName}` == oldMember.voiceChannel.name);
                if (matchMember == null) {
                    oldMember.voiceChannel.setName(`║👤 ${oldMember.voiceChannel.members.random().displayName}`)
                }
            }
        }
    }
});

client.on('voiceStateUpdate', (oldMember, newMember) => {
    // todo create channel
    if (newMember.voiceChannel != null && newMember.voiceChannel.name.startsWith('➕│4 Kişilik Oda')) {
        newMember.guild.createChannel(`║👤 ${newMember.displayName}`, {
            type: 'voice',
            parent: newMember.voiceChannel.parent
       }).then(cloneChannel => {
        newMember.setVoiceChannel(cloneChannel)
        cloneChannel.setUserLimit(4)
      })
    }
    // ! leave
    if (oldMember.voiceChannel != undefined) {
        if (oldMember.voiceChannel.name.startsWith('║👤 ')) {
            if (oldMember.voiceChannel.members.size == 0) {
                oldMember.voiceChannel.delete()
            }
            else { // change name
                let matchMember = oldMember.voiceChannel.members.find(x => `║👤 ${x.displayName}` == oldMember.voiceChannel.name);
                if (matchMember == null) {
                    oldMember.voiceChannel.setName(`║👤 ${oldMember.voiceChannel.members.random().displayName}`)
                }
            }
        }
    }
});

Daha sonrasında bu işlemi yaptıktan sonra yapmanız gereken tek bir işlem kalıyor.
Discord sunucunuza gelin ve alttaki işlemleri yerine getirin.

2 Kişilik Odalar İsimli bir kategori oluşturun ve o kategoriye ➕│2 Kişilik Oda isimli ses kanalı oluşturun.

3 Kişilik Odalar İsimli bir kategori oluşturun ve o kategoriye ➕│3 Kişilik Oda isimli ses kanalı oluşturun.

4 Kişilik Odalar İsimli bir kategori oluşturun ve o kategoriye ➕│4 Kişilik Oda isimli ses kanalı oluşturun.

İşlemler alttaki işlemler gibi olacaktır.
Ekli dosyayı görüntüle 842

Daha sonrasında bu ses kanallarına girdiğimiz zaman alttaki gibi olacaktır.
Ekli dosyayı görüntüle 843

Tüm odalarda sistem bu şekilde ilerlemektedir.

Sistemin mantığı çok basit.
Sizde bu şekilde yaparak sunucunuzdaki fazlalık odalardan kurtulabilirsiniz.

Sistemde oynama yapmak isteyen arkadaşlar için

cloneChannel.setUserLimit(0-1-2-3-4---99)

Kısmından odanın liminiti değiştirebilirsiniz.
Örnek;
cloneChannel.setUserLimit(2)

Odanın ismini değiştirmek isteyen arkadaşlar için bir bölüm

if (newMember.voiceChannel != null && newMember.voiceChannel.name.startsWith('ODA İSMİNİ GİRİN')) {

Odanın ismini değiştirmek isteyen arkadaşlar bu bölümden değiştirebilir.
Örnek;

if (newMember.voiceChannel != null && newMember.voiceChannel.name.startsWith('➕│2 Kişilik Oda')) {


Diyelim ki bu işlemi komut ile yapmak istiyorsunuz
O halde alttaki kodlamayı main dosyanız neresi ise oraya atın.

JavaScript:
client.on('message', async message => {
  const ms = require('ms');
  const prefix = await require('quick.db').fetch(`prefix_${message.guild.id}`) || ayarlar.prefix
  const args = message.content.slice(prefix.length).trim().split(/ +/g);
  const command = args.shift().toLowerCase();
  let u = message.mentions.users.first() || message.author;
  if (command === "özelodasistemi") {
  if (message.guild.channels.find(channel => channel.name === "Bot Kullanımı")) return message.channel.send(" Zaten kurulu.")
  if (!message.member.hasPermission('ADMINISTRATOR'))
  return message.channel.send(" Bu Kodu `Yönetici` Yetkisi Olan Kişi Kullanabilir.");
    message.channel.send(`Özel Oda Sistemi Kuruluyor`)
    .then((collected) => {

message.guild.createChannel('2 Kişilik Odalar', 'category', [{
  id: message.guild.id,
}]);

message.guild.createChannel(`➕│2 Kişilik Oda`, 'voice')
.then(channel =>
      channel.setParent(message.guild.channels.find(channel => channel.name === "2 Kişilik Odalar")))

message.guild.createChannel('3 Kişilik Odalar ', 'category', [{
  id: message.guild.id,
}]);

message.guild.createChannel(`➕│3 Kişilik Oda`, 'voice')
.then(channel =>
      channel.setParent(message.guild.channels.find(channel => channel.name === "3 Kişilik Odalar ")))

message.guild.createChannel('4 Kişilik Odalar', 'category', [{
  id: message.guild.id,
}]);

message.guild.createChannel(`➕│4 Kişilik Oda`, 'voice')
.then(channel =>
      channel.setParent(message.guild.channels.find(channel => channel.name === "4 Kişilik Odalar ")))


            })

}
});


Bu şekilde yerleştirdikten sonra yapmanız gereken tek bir şey kalıyor.
Discord sunucunuza gelip yazı kanalınıza prefixiniz neyse (prefix)özelodasistemi
yazın ve otomatik olarak kanallar kurulacaktır.
Bu işlemi sadece yönetici yetkisine sahip olanlar kullanabilir içiniz rahat olsun.

Gönül rahatlığıyla kullanabilirsiniz.

İyi Forumlar Şehrin Sakinleri!​

V12 botum var bu kod V12 uyumlu mu?
 
Son düzenleme:
Katılım
12 Eyl 2020
Konular
0
Mesajlar
46
Tepki puanı
9
Puanları
810
v12 lazım. sınıf discordu için istiyorlar bende oda kalabalığı olmasın diye kullanacağım. oyuncularsehri discordundan ulaştım. BRKN#0929
 
Katılım
1 Şub 2021
Konular
0
Mesajlar
2
Tepki puanı
1
Puanları
360
Main.js'e atılacak kod v12'de hata verince kendimce biraz düzenleme yaptım. İhtiyacı olan arkadaşlar alabilirler.
"➕ 2 Kişilik Oda" "➕ 3 Kişilik Oda" bölümlerini tek bir alanda ekledim. Çünkü birden fazla ses kanalı olduğunda konsolda hata veriyordu. "│" de çıkardım ara ara hata veriyordu.


JavaScript:
client.on('voiceStateUpdate', async (oldState, newState) => {
  if (newState.channel != null && newState.channel.name.startsWith('➕ 2 Kişilik Oda')) {newState.guild.channels.create(`🎧 ${newState.member.displayName} Odası`, {type: 'voice',
    parent: newState.channel.parent,})
   .then((cloneChannel) => {newState.setChannel(cloneChannel);
    cloneChannel.setUserLimit(2);})}
  if (newState.channel != null && newState.channel.name.startsWith('➕ 3 Kişilik Oda')) {newState.guild.channels.create(`🎧 ${newState.member.displayName} Odası`, {type: 'voice',
    parent: newState.channel.parent,})
   .then((cloneChannel) => {newState.setChannel(cloneChannel);
    cloneChannel.setUserLimit(3);})}
if (newState.channel != null && newState.channel.name.startsWith('➕ 4 Kişilik Oda')) {newState.guild.channels.create(`🎧 ${newState.member.displayName} Odası`, {type: 'voice',
    parent: newState.channel.parent,})
   .then((cloneChannel) => {newState.setChannel(cloneChannel);
    cloneChannel.setUserLimit(4);})}
if (newState.channel != null && newState.channel.name.startsWith('➕ 5 Kişilik Oda')) {newState.guild.channels.create(`🎧 ${newState.member.displayName} Odası`, {type: 'voice',
    parent: newState.channel.parent,})
   .then((cloneChannel) => {newState.setChannel(cloneChannel);
    cloneChannel.setUserLimit(5);})}
if (newState.channel != null && newState.channel.name.startsWith('➕ Kalabalık Oda')) {newState.guild.channels.create(`🎧 ${newState.member.displayName} Odası`, {type: 'voice',
    parent: newState.channel.parent,})
   .then((cloneChannel) => {newState.setChannel(cloneChannel);
    cloneChannel.setUserLimit(99);})}
// Kullanıcı ses kanalından ayrılınca ve kanalda kimse kalmazsa kanalı siler;
if (oldState.channel != undefined) {
  if (oldState.channel.name.startsWith('🎧')) {
    if (oldState.channel.members.size == 0) {oldState.channel.delete();}
      else { // İlk kullanıcı ses kanalından ayrılınca kanaldaki başka kullanıcı adını kanal adı yapar.
        let matchMember = oldState.channel.members.find(x => `🎧 ${x.displayName} kanalı` == oldState.channel.name);
        if (matchMember == null) {
        oldState.channel.setName(`🎧 ${oldState.channel.members.random().displayName} kanalı`)
          }
       }
     }
   }
});


Aşağıda da komut ile yapmak isteyenler için v12'ye göre düzenledim. Yine Main.js'ye atılıyor ve prefix özelodasistemi komutu ile kategoriyi ve kanalları otomatik oluşturuyor.


JavaScript:
client.on('message', async message => {
  const ms = require('ms');
  const prefix = await require('quick.db').fetch(`prefix_${message.guild.id}`) || ayarlar.prefix
  const args = message.content.slice(prefix.length).trim().split(/ +/g);
  const command = args.shift().toLowerCase();
  let u = message.mentions.users.first() || message.author;
  if (command === "özelodasistemi") {
  if (message.guild.channels.cache.find(channel => channel.name === "Sınırsız Oda")) return message.channel.send(" Zaten kurulu.")
  if (!message.member.hasPermission('ADMINISTRATOR'))
  return message.channel.send(" Bu Kodu `Yönetici` Yetkisi Olan Kişi Kullanabilir.");
    message.channel.send(`Özel Oda Sistemi Kuruluyor`)
    .then((collected) => {

message.guild.channels.create(`Sınırsız Oda`, {type: 'category'}, [{
  id: message.guild.id,
}]);

message.guild.channels.create(`➕ 2 Kişilik Oda`, {type: 'voice'})
.then(channel =>
      channel.setParent(message.guild.channels.cache.find(channel => channel.name === "Sınırsız Oda")))

message.guild.channels.create(`➕ 3 Kişilik Oda`, {type: 'voice'})
.then(channel =>
      channel.setParent(message.guild.channels.cache.find(channel => channel.name === "Sınırsız Oda")))          

message.guild.channels.create(`➕ 4 Kişilik Oda`, {type: 'voice'})
.then(channel =>
      channel.setParent(message.guild.channels.cache.find(channel => channel.name === "Sınırsız Oda")))    

message.guild.channels.create(`➕ 5 Kişilik Oda`, {type: 'voice'})
.then(channel =>
      channel.setParent(message.guild.channels.cache.find(channel => channel.name === "Sınırsız Oda")))          

message.guild.channels.create(`➕ Kalabalık Oda`, {type: 'voice'})
.then(channel =>
      channel.setParent(message.guild.channels.cache.find(channel => channel.name === "Sınırsız Oda")))

            })
}
});
 
Son düzenleme:
Katılım
2 Kas 2020
Konular
0
Mesajlar
4
Tepki puanı
1
Puanları
760
Main.js'e atılacak kod v12'de hata verince kendimce biraz düzenleme yaptım. İhtiyacı olan arkadaşlar alabilirler.
"➕ 2 Kişilik Oda" "➕ 3 Kişilik Oda" bölümlerini tek bir alanda ekledim. Çünkü birden fazla ses kanalı olduğunda konsolda hata veriyordu. "│" de çıkardım ara ara hata veriyordu.


JavaScript:
client.on('voiceStateUpdate', async (oldState, newState) => {
  if (newState.channel != null && newState.channel.name.startsWith('➕ 2 Kişilik Oda')) {newState.guild.channels.create(`🎧 ${newState.displayName} Odası`, {type: 'voice',
    parent: newState.channel.parent,})
   .then((cloneChannel) => {newState.setChannel(cloneChannel);
    cloneChannel.setUserLimit(2);})}
  if (newState.channel != null && newState.channel.name.startsWith('➕ 3 Kişilik Oda')) {newState.guild.channels.create(`🎧 ${newState.displayName} Odası`, {type: 'voice',
    parent: newState.channel.parent,})
   .then((cloneChannel) => {newState.setChannel(cloneChannel);
    cloneChannel.setUserLimit(3);})}
if (newState.channel != null && newState.channel.name.startsWith('➕ 4 Kişilik Oda')) {newState.guild.channels.create(`🎧 ${newState.displayName} Odası`, {type: 'voice',
    parent: newState.channel.parent,})
   .then((cloneChannel) => {newState.setChannel(cloneChannel);
    cloneChannel.setUserLimit(4);})}
if (newState.channel != null && newState.channel.name.startsWith('➕ 5 Kişilik Oda')) {newState.guild.channels.create(`🎧 ${newState.displayName} Odası`, {type: 'voice',
    parent: newState.channel.parent,})
   .then((cloneChannel) => {newState.setChannel(cloneChannel);
    cloneChannel.setUserLimit(5);})}
if (newState.channel != null && newState.channel.name.startsWith('➕ Kalabalık Oda')) {newState.guild.channels.create(`🎧 ${newState.displayName} Odası`, {type: 'voice',
    parent: newState.channel.parent,})
   .then((cloneChannel) => {newState.setChannel(cloneChannel);
    cloneChannel.setUserLimit(99);})}
// Kullanıcı ses kanalından ayrılınca ve kanalda kimse kalmazsa kanalı siler;
if (oldState.channel != undefined) {
  if (oldState.channel.name.startsWith('🎧')) {
    if (oldState.channel.members.size == 0) {oldState.channel.delete();}
      else { // İlk kullanıcı ses kanalından ayrılınca kanaldaki başka kullanıcı adını kanal adı yapar.
        let matchMember = oldState.channel.members.find(x => `🎧 ${x.displayName} kanalı` == oldState.channel.name);
        if (matchMember == null) {
        oldState.channel.setName(`🎧 ${oldState.channel.members.random().displayName} kanalı`)
          }
       }
     }
   }
});


Aşağıda da komut ile yapmak isteyenler için v12'ye göre düzenledim. Yine Main.js'ye atılıyor ve prefix özelodasistemi komutu ile kategoriyi ve kanalları otomatik oluşturuyor.


JavaScript:
client.on('message', async message => {
  const ms = require('ms');
  const prefix = await require('quick.db').fetch(`prefix_${message.guild.id}`) || ayarlar.prefix
  const args = message.content.slice(prefix.length).trim().split(/ +/g);
  const command = args.shift().toLowerCase();
  let u = message.mentions.users.first() || message.author;
  if (command === "özelodasistemi") {
  if (message.guild.channels.cache.find(channel => channel.name === "Sınırsız Oda")) return message.channel.send(" Zaten kurulu.")
  if (!message.member.hasPermission('ADMINISTRATOR'))
  return message.channel.send(" Bu Kodu `Yönetici` Yetkisi Olan Kişi Kullanabilir.");
    message.channel.send(`Özel Oda Sistemi Kuruluyor`)
    .then((collected) => {

message.guild.channels.create(`Sınırsız Oda`, {type: 'category'}, [{
  id: message.guild.id,
}]);

message.guild.channels.create(`➕ 2 Kişilik Oda`, {type: 'voice'})
.then(channel =>
      channel.setParent(message.guild.channels.cache.find(channel => channel.name === "Sınırsız Oda")))

message.guild.channels.create(`➕ 3 Kişilik Oda`, {type: 'voice'})
.then(channel =>
      channel.setParent(message.guild.channels.cache.find(channel => channel.name === "Sınırsız Oda")))          

message.guild.channels.create(`➕ 4 Kişilik Oda`, {type: 'voice'})
.then(channel =>
      channel.setParent(message.guild.channels.cache.find(channel => channel.name === "Sınırsız Oda")))    

message.guild.channels.create(`➕ 5 Kişilik Oda`, {type: 'voice'})
.then(channel =>
      channel.setParent(message.guild.channels.cache.find(channel => channel.name === "Sınırsız Oda")))          

message.guild.channels.create(`➕ Kalabalık Oda`, {type: 'voice'})
.then(channel =>
      channel.setParent(message.guild.channels.cache.find(channel => channel.name === "Sınırsız Oda")))

            })
}
});
Merhabalar.Ben bunu kendi botumda denedim kod çalışıyordu ama oda ismini kullanıcı adı yapmıyordu.Onun yerine undefined odası yazıyordu
1613475989512.png
böyleydi eğer hatanın çözümünü söylerseniz mutlu olurum.Discord ismim: ! TexNow#3901
 
Katılım
1 Şub 2021
Konular
0
Mesajlar
2
Tepki puanı
1
Puanları
360
Merhabalar.Ben bunu kendi botumda denedim kod çalışıyordu ama oda ismini kullanıcı adı yapmıyordu.Onun yerine undefined odası yazıyordu Ekli dosyayı görüntüle 4101 böyleydi eğer hatanın çözümünü söylerseniz mutlu olurum.Discord ismim: ! TexNow#3901

Merhaba, alttaki kısımda ${newState.displayName} bölümünü ${newState.member.displayName} olarak değiştirip dener misiniz?

JavaScript:
  if (newState.channel != null && newState.channel.name.startsWith('➕ 2 Kişilik Oda')) {newState.guild.channels.create(`🎧 ${newState.displayName} Odası`, {type: 'voice',
    parent: newState.channel.parent,})
   .then((cloneChannel) => {newState.setChannel(cloneChannel);
    cloneChannel.setUserLimit(2);})}
 
  • Beğen
Tepkiler: ZussaDM
Katılım
2 Kas 2020
Konular
0
Mesajlar
4
Tepki puanı
1
Puanları
760
Merhaba, alttaki kısımda ${newState.displayName} bölümünü ${newState.member.displayName} olarak değiştirip dener misiniz?

JavaScript:
  if (newState.channel != null && newState.channel.name.startsWith('➕ 2 Kişilik Oda')) {newState.guild.channels.create(`🎧 ${newState.displayName} Odası`, {type: 'voice',
    parent: newState.channel.parent,})
   .then((cloneChannel) => {newState.setChannel(cloneChannel);
    cloneChannel.setUserLimit(2);})}
Teşekkürler yardımın için oldu ellerine sağlık
 
  • Beğen
Tepkiler: slimb
Katılım
26 May 2021
Konular
3
Mesajlar
13
Tepki puanı
0
Puanları
755
bana yardım edebilirmisiniz yapamadım
discord Sunucum gelip bana yardım ederseniz sevinirim özeldende yazabilirsiniz

 
Katılım
26 May 2021
Konular
3
Mesajlar
13
Tepki puanı
0
Puanları
755
bana yardım edebilirmisin peki rica etsem müsait değilsen yarında yapabiliriz
 
Katılım
26 May 2021
Konular
3
Mesajlar
13
Tepki puanı
0
Puanları
755
ben bu sistemi deniyorumda yapamadım