角色独占命令不起作用 // Discord.js
Role exclusive commands not working // Discord.js
我的代码目前是:
if (message.content == ",test") {
if (message.member.roles.find("name", "images")) {
message.channel.send( {
file: "http://www.drodd.com/images14/black11.jpg" // Or replace with FileOptions object
});
}
if (!message.member.roles.find("name", "images")) { // This checks to see if they DONT have it, the "!" inverts the true/false
message.reply('You need the \`images\` role to use this command.')
.then(msg => {
msg.delete(5000)
})
}
message.delete(100); //Supposed to delete message
return; // this returns the code, so the rest doesn't run.
}
如果用户具有角色 'images' 我希望机器人在他们说“,test”时发送图像,并且我希望在几秒钟后删除用户的“,test”消息。但是,这似乎不起作用。
我试过在不进行角色检查的情况下发送图像并且成功了。
我该如何解决这个问题?
这是因为message.member.roles.find("name", "images")
检查公会中的角色EXISTS。为了查找某人是否有角色,您可以使用 message.member.roles.has(myRole)
。要动态查找角色的 ID,您可以使用:
let myRole = message.guild.roles.find("name", "Moderators").id;
。
我的代码目前是:
if (message.content == ",test") {
if (message.member.roles.find("name", "images")) {
message.channel.send( {
file: "http://www.drodd.com/images14/black11.jpg" // Or replace with FileOptions object
});
}
if (!message.member.roles.find("name", "images")) { // This checks to see if they DONT have it, the "!" inverts the true/false
message.reply('You need the \`images\` role to use this command.')
.then(msg => {
msg.delete(5000)
})
}
message.delete(100); //Supposed to delete message
return; // this returns the code, so the rest doesn't run.
}
如果用户具有角色 'images' 我希望机器人在他们说“,test”时发送图像,并且我希望在几秒钟后删除用户的“,test”消息。但是,这似乎不起作用。
我试过在不进行角色检查的情况下发送图像并且成功了。
我该如何解决这个问题?
这是因为message.member.roles.find("name", "images")
检查公会中的角色EXISTS。为了查找某人是否有角色,您可以使用 message.member.roles.has(myRole)
。要动态查找角色的 ID,您可以使用:
let myRole = message.guild.roles.find("name", "Moderators").id;
。