首页 > 解决方案 > 最近我建立了discord bot,主要问题是,我不知道如何设置权限,所以我服务器的每个成员都可以踢和禁止其他人

问题描述

module.exports = { name: 'ban', description: "这个命令禁止一个成员!", execute(message, args){

    const member = message.mentions.users.first();
    if(member){
        const memberTarget = message.guild.members.cache.get(member.id)
        memberTarget.ban();
        message.channel.send("User has been banned");
    }else{
        message.channel.send('you couldnt ban that member');
    }
}

}

module.exports = { name: 'kick', description: "This command kicks a member!", execute(message, args){

    const member = message.mentions.users.first();
    if(member){
        const memberTarget = message.guild.members.cache.get(member.id)
        memberTarget.kick();
        message.channel.send("User has been kicked");
    }else{
        message.channel.send('you couldnt kick that member');
    }
}

}

标签: javascriptdiscord.js

解决方案


.hasPermission()我们可以简单地使用对象的功能检查用户的权限GuildMember。我们可以简单地将它与一个简单的 if 语句集成,其中包括您要检查的权限:

if (!message.member.hasPermission('BAN_MEMBERS') return; // Would return if the message author does not have permission to Ban Members
if (!message.member.hasPermission('KICK_MEMBERS') return; // Same thing for the Kick Members permission.

推荐阅读