//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?