首页 > 解决方案 > Discord.js 代码不会禁止人们。我该如何解决?

问题描述

所以我编写了一个小禁令命令这里是代码

if (message.content.startsWith(`${prefix}ban`)) {

    let member = message.mentions.members.first();
    member.ban().then((member) => {
        message.channel.send(`:wave: ${member.displayName} has been kicked`);
    }).catch(() => {
        if (!message.member.hasPermission(['BAN_MEMBERS', 'ADMINISTRATOR'])) {
            message.reply("You cannot ban members");
        } else if (member.hasPermission(['KICK_MEMBERS', 'BAN_MEMBERS', 'ADMINISTRATOR'])) {
            message.reply("You cannont ban this member");
        }
    })
}

当我做了我的前缀禁令然后播放器名称它不会禁止它们并且我在控制台中没有收到任何错误所以我可以请一些帮助

纳克斯

罗宾

标签: node.jsdiscord.js

解决方案


我的回答是

client.on('message', (message) => {
    let args = message.content.split(' ');
    let command = args.shift();
    if (command === 'ban') {
        let member = message.mentions.members.first() || message.guild.members.get(args[0]);
        if (!member) return message.reply('pls mention a member or write ID for BAN');
        if (!message.member.hasPermission('BAN_MEMBERS')) return message.reply('You has no permission for ban members');
        if (message.member.roles.highest.position <= member.roles.highest.position) return message.reply(`You can't ban member with the same or highest role position`);
        if (!member.manageable) return message.reply('I cant ban this member');
        member.ban();
    }
});

推荐阅读