如何检查两个角色

Lat*_*ate 5 discord.js

我正在尝试发出命令,如果作者具有管理员或所有者角色,则该命令有效。但我不知道如何检查用户是否具有“管理员”或“所有者”角色(多个角色)。我正在使用discord.js v12。

我的代码:

client.on('message', message => {
    if (message.content.startsWith('!ban'))
if(message.member.roles.cache.find(r => r.name === "owner")) {
        message.delete();
    let member1 = message.mentions.members.first();
    if(!member1) return message.channel.send("You need to mention the @user!").then((declineMsg) => {
declineMsg.delete({timeout: 5000});})
      let banned = message.guild.roles.cache.find(role => role.name === "banned");
    member1.roles.add(banned);
 message.channel.send('Succesfully banned user!').then(message.delete({timeout: 5000}))}});
  });

client.on('message', message => {
    if (message.content.startsWith('!ban'))
if(message.member.roles.cache.find(r => r.name === "admin")) {
        message.delete();
    let member1 = message.mentions.members.first();
    if(!member1) return message.channel.send("You need to mention the @user!").then((declineMsg) => {
declineMsg.delete({timeout: 5000});})

      let banned = message.guild.roles.cache.find(role => role.name === "banned");
    member1.roles.add(banned);
    message.channel.send(`Succesfully banned user!`).then(message.delete({timeout: 5000}))}});
  });
Run Code Online (Sandbox Code Playgroud)

Meg*_*aft 5

你需要使用这样的东西:

let role1 = message.guild.roles.cache.find(r => r.name === "owner");
let role2 = message.guild.roles.cache.find(r => r.name === "admin");

if(!message.member.roles.cache.has(role1.id) && !message.member.roles.cache.has(role2.id)) return message.reply("User don't have required roles!")
Run Code Online (Sandbox Code Playgroud)