使其无法踢/禁止mods与不和机器人



我是一个初级的discord机器人创建者(实际上是我的第一个机器人(,所以这可能是一个愚蠢的问题,但我只是不知道如何确保你不能踢/禁止任何具有"管理员"角色的人。到目前为止我的代码:

const { MessageManager } = require("discord.js");
module.exports = {
name: "kick",
description: "This command kicks a member!",
execute(message, args) {
const target = message.mentions.users.first();
if (target) {
const memberTarget = message.guild.members.cache.get(target.id);
if (!message.member.roles.cache.has("845966863070789644") && !message.member.guild.me.hasPermission("ADMINISTRATOR")) {
message.channel.send(`You can't kick mods`);
} else {
memberTarget.kick();
message.channel.send("Sure. See you later.");
}
} else {
message.channel.send(`I was unable to execute that command -.-`);
}
},
};

在告诉用户他们不能踢mod之前,您要检查他们是否是而不是mod。因此,您只能踢mod。此外,不要检查ADMINISTRATOR和角色,只检查ADMINITRATOR权限,因为这样做更简单,否则会很麻烦。这里有一个更正(注意,我还没有测试过这个代码,但我以前使用过类似的代码(:

const { MessageManager } = require("discord.js");
module.exports = {
name: "kick",
description: "This command kicks a member!",
execute(message, args) {
const target = message.mentions.users.first();
if (target) {
const memberTarget = message.guild.members.cache.get(target.id);
if (message.member.guild.me.hasPermission("ADMINISTRATOR")) {
message.channel.send(`You can't kick mods`);
} else {
memberTarget.kick();
message.channel.send("Sure. See you later.");
}
} else {
message.channel.send(`I was unable to execute that command -.-`);
}
},
};

这应该会停止踢具有管理员权限的成员的能力。对于角色,将memberTarget.hasPermission("ADMINISTRATOR")替换为memberTarget.roles.caches.find(i => i.name.toUpperCase() === "ADMINISTRATOR")

module.exports = {
name: "kick",
description: "This command kicks a member!",
execute(message, args) {
const target = message.mentions.users.first();
if (target) {
const memberTarget = message.guild.members.cache.get(target.id);
if (memberTarget.hasPermission("ADMINISTRATOR")) {
message.channel.send(`You can't kick mods`);
} else {
memberTarget.kick();
message.channel.send("Sure. See you later.");
}
} else {
message.channel.send(`I was unable to execute that command -.-`);
}
},
};

相关内容

最新更新