我使用以下$kek
命令做了一个简单的自动禁止命令。
当前,任何角色的任何人都可以使用此功能。我希望它忽略某些角色。例如,任何具有管理员权限的人都可以在不被禁止的情况下使用它。如何输入以便机器人忽略?
代码如下
exports.exec = (Cuckbot, message) => {
// Won't catch log errors because I can't be fucked, you can tell if it ran correctly or not.
// Bans users if they use $kek command.
// Bot will notify afterwards that he was banned.
if(message.content.startsWith("$kek")) {
message.member.ban("Dumbass used $kek") } // Audit log message
message.channel.send({
embed: {
color: 0,
description: `${message.author} just banned himself. `
}
}).catch(e => {
Cuckbot.log.error(e);
});
};
答案 0 :(得分:0)
您可以使用以下代码检查成员是否具有特定权限:
if (message.member.hasPermission("SEND_MESSAGES")) return message.reply('You are not allowed to use this commmand')
或检查多个权限:
if (message.member.hasPermissions(["SEND_MESSAGES", "MANAGE_SERVER"])) return message.reply('You are not allowed to use this commmand')
可以在这里找到所有权限标志:https://discord.js.org/#/docs/main/stable/class/Permissions?scrollTo=s-FLAGS
要忽略某些角色,可以使用以下命令:
if (message.member.roles.has("ROLE ID")) return message.reply('You are not allowed to use this commmand')