Discord bot添加角色

Discord bot添加角色,discord,discord.js,bots,Discord,Discord.js,Bots,我正在尝试添加一个静音命令 这是我当前的代码: if (message.member.roles.cache.some(role => role.name === 'Admin')) { let target = message.mentions.members.first; let role = message.member.guild.roles.cache.find(role => role.name === "muted"); targ

我正在尝试添加一个静音命令

这是我当前的代码:

if (message.member.roles.cache.some(role => role.name === 'Admin')) {
   let target = message.mentions.members.first;
   let role = message.member.guild.roles.cache.find(role => role.name === "muted");

   target.roles.add(role);

   message.channel.send('${user} has been muted by ${message.author.username}');
}
我得到了这个错误:

(节点:11052)未处理的PromisejectionWarning:TypeError:无法读取未定义的属性“add”

  • 我建议您使用
    角色#has
    搜索成员角色
  • 集合#first
    是一种方法,而不是属性,请将
    ()
    添加到
    first
  • 您无法读取未定义的属性“add”,因为您没有正确访问第一次提及的内容

    以下是所有已修复的代码:

    if (message.member.roles.cache.has('ROLE-ID-HERE')) {
       let target = message.mentions.members.first();
       let role = message.member.guild.roles.cache.find(role => role.name === "muted");
    
       target.roles.add(role);
    
       message.channel.send('${user} has been muted by ${message.author.username}');
    }
    
    let target = message.mentions.members.first();
    
    if (message.member.roles.cache.has('ROLE-ID-HERE')) {
       let target = message.mentions.members.first();
       let role = message.member.guild.roles.cache.find(role => role.name === "muted");
    
       target.roles.add(role);
    
       message.channel.send('${user} has been muted by ${message.author.username}');
    }