Javascript 如何检查某人是否具有特定角色
好的,我知道有类似的问题,但无论我怎么尝试,我都会得到相同的结果。我已经试了两天了,想知道如何检查我是否拥有ban命令的“OverBot Admin”角色。但是每当我运行这个命令时,它就会垃圾邮件聊天!这是我的密码:Javascript 如何检查某人是否具有特定角色,javascript,node.js,discord.js,Javascript,Node.js,Discord.js,好的,我知道有类似的问题,但无论我怎么尝试,我都会得到相同的结果。我已经试了两天了,想知道如何检查我是否拥有ban命令的“OverBot Admin”角色。但是每当我运行这个命令时,它就会垃圾邮件聊天!这是我的密码: if (command === "ban") { if(message.member.roles.has(role => role.name === "OverBot-Admin")) { let reason = args.slice(1).
if (command === "ban") {
if(message.member.roles.has(role => role.name === "OverBot-Admin")) {
let reason = args.slice(1).join(" ");
if (!reason) reason = "No reason provided";
const user = message.mentions.users.first();
if (user) {
const member = message.guild.member(user);
if (member) {
member
.ban({ reason: "They were being bad." })
.then(() => {
message.reply(
":white_check_mark: Successfully banned " +
message.user.id +
"for " +
reason
);
const embed = new Discord.RichEmbed()
.setTitle("Ban")
.addField("Member:", message.user.id)
.addField("Reason:", reason)
.setTimestamp()
.setFooter(
"Created by OverThrow, OverBot SE",
"https://cdn.discordapp.com/avatars/649431468254429224/0b63291c1e7342c2320ca5c3cce806ca.png?size=2048"
);
})
.catch(err => {
message.reply(":x: I was unable to ban that member!");
console.error(err);
});
} else {
message.reply(":x: That user isn't a member to this guild!");
}
} else {
message.reply(":x: You didn't mention a member to ban!");
}
}
} else {
message.reply(":x: I couldn't ban this user, please make sure you have the OverBot-Admin role!")
}
message.member.roles.has()
需要一个角色ID作为参数,而在这里,您要传递一个函数。我认为您正在寻找的方法是(尽管这种方法已被弃用,但如果有人能想出一种不同的方法,请让我知道)
查看功能中的消息.reply
,然后在禁用后,我看到消息.user.id
。但是,根据文档,message.user
似乎不是消息对象的有效属性。我假设您指的是刚刚被禁止的用户,在这种情况下,您可以重用先前定义的user
或member
变量
如果您还有其他问题,请随时回复。该成员至少被正确禁止了吗?是的,没有检查该角色的If语句的成员被禁止了。