I';我正在尝试为我的Discord bot创建一个具有角色权限的清晰命令。(Discord.js)

I';我正在尝试为我的Discord bot创建一个具有角色权限的清晰命令。(Discord.js),discord,discord.js,Discord,Discord.js,我已经有了一些代码,但是如何实现一些其他代码,使命令仅可由具有MANAGE_MESSAGES权限的用户访问 我自己尝试这样做: else if (message.content.startsWith(`${prefix}clear`)) { const amount = parseInt(args[0]);; if (isNaN(amount)) { return message.reply('that doesn

我已经有了一些代码,但是如何实现一些其他代码,使命令仅可由具有MANAGE_MESSAGES权限的用户访问

我自己尝试这样做:

    else if (message.content.startsWith(`${prefix}clear`)) {
        const amount = parseInt(args[0]);;
        
        if (isNaN(amount)) {
            return message.reply('that doesn\'t seem to be a valid number.');
        } else if (amount <= 0 || amount > 100) {
                return message.reply('you need to input a number between 1 and 100.');
                }
            
        message.channel.bulkDelete(amount, true).catch(err => {
            console.error(err);
            message.channel.send('Uh oh! Something went wrong!');

        }).catch(() => {
            if (!message.member.hasPermission(['MANAGE_MESSAGES'])) {
                message.reply("you do not have permission to use this command!");
            
            }
        });
    }
else if(message.content.startsWith(`${prefix}clear`){
const amount=parseInt(args[0]);;
如果(isNaN(金额)){
return message.reply('这似乎不是一个有效的数字');
}否则,如果(金额100){
return message.reply('您需要输入一个介于1和100之间的数字');
}
message.channel.bulkDelete(amount,true).catch(err=>{
控制台错误(err);
message.channel.send('Uh-oh!出问题了!');
}).catch(()=>{
如果(!message.member.hasPermission(['MANAGE_MESSAGES'])){
message.reply(“您没有使用此命令的权限!”);
}
});
}
如果末尾没有额外的位:

    else if (message.content.startsWith(`${prefix}clear`)) {
        const amount = parseInt(args[0]);;
        
        if (isNaN(amount)) {
            return message.reply('that doesn\'t seem to be a valid number.');
        } else if (amount <= 0 || amount > 100) {
                return message.reply('you need to input a number between 1 and 100.');
                }
            
        message.channel.bulkDelete(amount, true).catch(err => {
            console.error(err);
            message.channel.send('Uh oh! Something went wrong!');

        });
    }
else if(message.content.startsWith(`${prefix}clear`){
const amount=parseInt(args[0]);;
如果(isNaN(金额)){
return message.reply('这似乎不是一个有效的数字');
}否则,如果(金额100){
return message.reply('您需要输入一个介于1和100之间的数字');
}
message.channel.bulkDelete(amount,true).catch(err=>{
控制台错误(err);
message.channel.send('Uh-oh!出问题了!');
});
}
试试这个:

else if(message.content.startsWith(`${prefix}clear`){
//把这个放在最上面
如果(!message.member.hasPermission(“管理_邮件”)){
返回消息。回复(“您没有使用此命令的权限!”);
const amount=parseInt(args[0]);
如果(isNaN(金额))
返回消息。回复(“这似乎不是一个有效的数字。”);
如果(金额100)
返回消息。回复(“您需要输入一个介于1和100之间的数字”);
消息通道
.bulkDelete(金额,真)
.catch((错误)=>{
控制台错误(err);
message.channel.send(“噢,出了点问题!”);
})
.catch((err)=>console.log(err));
}
}

我认为问题在于,如果成员没有所需的权限,您没有返回,因此您的代码只是正常继续运行。

您是否收到错误?@Lioness100否,只是没有权限的所有人都可以使用该命令。