提问者:小点点

discord.js如果用户有空角色,如何制作临时频道


这是代码,如果用户在let role

music.on('voiceStateUpdate',(lama, baru) => {
var state = null;  
let Role = baru.roles.find((r) => ["IRON", "BRONZE","SILVER","GOLD","PLATINUM","DIAMOND","IMMORTAL","RADIANT"].includes(r.name));
let gakada = null
  const kategorikanal = '700743802574602260'
  const channelid = '700743824346972231'
  if(!lama.voiceChannel && !baru.voiceChannel) return;
  if(!lama.voiceChannel && baru.voiceChannel) {state = "join"}
  else if(lama.voiceChannel && !baru.voiceChannel) {state = "leave"}
  else if(lama.voiceChannel.id !== baru.voiceChannel.id) {state = "move"}
  else if(lama.voiceChannel.id == baru.voiceChannel.id) return;
  console.log(state);
//!baru.member.roles.has(allowedRole)
  //if(Role === null) return; console.log("ada masalah ni ga punya role orangnya")
if(Role === null) return; console.log("ada masalah ni ga punya role orangnya")
  if(baru.voiceChannelID === channelid && baru.roles.has !== Role) {
     // console.log(Role)
      //console.log(Role.name)
   // const Role = baru.guild.roles.get("724997095236304987");
    baru.guild
    .createChannel(`${Role.name} | ${baru.user.username}`,"voice")
    .then(tempChannel => {
        tempChannel.overwritePermissions(baru.guild.defaultRole.id, {
   CONNECT: false,
})

    tempChannel.overwritePermissions(Role.id, {
        CONNECT: true
    })
      tempChannel.setParent(kategorikanal);
      baru.setVoiceChannel(tempChannel.id);
      tempChannel.setUserLimit("5");
      })

  .catch(console.error)
      
} 
  if(lama.voiceChannelID) {     
      console.log(lama.displayName + ' gabisabgo hrus ada rank ranked ');
    let Role = baru.roles.find((r) => ["IRON", "BRONZE","SILVER","GOLD","PLATINUM","DIAMOND","IMMORTAL","RADIANT"].includes(r.name));

      const voicelama = lama.guild.channels.get(lama.voiceChannelID);

      if(voicelama.name.startsWith(`${Role.name} | ${baru.user.username}`)){
      let sawadikap = `**${baru.user.username}'s**` + " **Team**"
      var koko = new Discord.RichEmbed()
      .setColor("#FF4654")
      .setThumbnail(`${baru.user.avatarURL}`)
      .addField('**Good Game Well Played**',`${sawadikap}`)
      .setFooter("@Valorant Indonesia Community." , 'https://i.imgur.com/yPWqxxu.png') 
       voicelama.delete()
      .then(function() {
        music.channels.get('725080861392896101').send(koko)
  })
      .catch(console.error);
  }
    }
         })

这个项目为我的私人服务器,请帮助我解决这个问题。 如果你能帮我的话,谢谢你。


共1个答案

匿名用户

如果此人没有任何角色,则会将姓名设置为“无角色”

Role ? Role.name : "No roles"

以及您想要授予可以更改给用户的权限的角色的id

tempChannel.overwritePermissions(Role ? Role.id : baru.id,{ ...