Discord.js Level Roles?
  //level system


  bot.on('message', function(message){
    if(message.author.bot) return;
    var addXP = Math.floor(Math.random() * 5) + 1;


    if(!xpfile[message.author.id]){
      xpfile[message.author.id] = {
        xp: 0,
        level: 0,
        reqxp: 100
      }


      fs.writeFile("./xp.json",JSON.stringify(xpfile),function(err){
        if(err) console.log(err)
      })
    }


  xpfile[message.author.id].xp += addXP


  if(xpfile[message.author.id].xp > xpfile[message.author.id].reqxp){
    xpfile[message.author.id].xp -= xpfile[message.author.id].reqxp
    xpfile[message.author.id].reqxp *=1.5
    xpfile[message.author.id].reqxp = Math.floor(xpfile[message.author.id].reqxp)
    xpfile[message.author.id].level += 1


    message.reply("ist auf Level **"+ xpfile[message.author.id].level +"** aufgestiegen.")
  }



  fs.writeFile("./xp.json",JSON.stringify(xpfile),function(err){
    if(err) console.log(err)
  
  //level roles


var role = message.guild.roles.cache.find(role => role.name === "test");


if(xpfile[message.author.id].level == 1)message.member.guild.roles.add(role);


  //rank command


  if(message.content.startsWith("fg!rank")){


    let user = message.mentions.users.first() || message.author


    if(!xpfile[user.id]) return message.channel.send("Dieser User hat noch keine XP gefarmt.")


    const rank = new Discord.MessageEmbed()


    .setTitle("**RANK**")
    .setColor("GREEN")
    .setAuthor(user.tag,user.avatarURL({dynamic:true}))
    .addField("Level: ",xpfile[user.id].level)
    .addField("XP: ",xpfile[user.id].xp +"/"+ xpfile[user.id].reqxp)


    message.channel.send(rank)
  }


    })


  })

Hey, ich habe ein LevelSystem in Discord.js gecodet.

Es funktioniert sehr gut, aber bei den LevelRoles gibt es ein Problem.

Es kommt kein Error oder sonstiges, aber der Bot vergibt die Role nicht. Weiß jemand woran das liegt?

Computer, JavaScript, node.js, Discord, Discord Bot, Discord.js

Meistgelesene Beiträge zum Thema JavaScript