Discord.js与角色之间的问题

Discord.js与角色之间的问题,discord.js,Discord.js,我试图创建一个命令,将特定角色(按名称)赋予消息作者。我现在的代码是 client.on('message', message =>{ if(!message.content.startsWith(prefix) || message.author.bot) return; const args = message.content.slice(prefix.length).split(/ +/); const command = args.shift()

我试图创建一个命令,将特定角色(按名称)赋予消息作者。我现在的代码是

client.on('message', message =>{
      if(!message.content.startsWith(prefix) || message.author.bot) return;
      const args = message.content.slice(prefix.length).split(/ +/);
      const command = args.shift().toLowerCase();
      const user = message.mentions.users.first();
      if(command === "mod"){
        let role = message.guild.roles.find(r => r.name === "test");
        let member = message.mentions.members.first();
        member.roles.add(role)
      }
  });
但是我得到了一个
类型错误

let role = message.guild.roles.find(r => r.name === "test");
                                   ^
TypeError: message.guild.roles.find is not a function

Discord JS v12引入了管理器的概念,您将不再能够直接在数据结构(如)上使用方法。在尝试使用收集方法之前,您现在必须直接请求管理器上的缓存


let role=message.guild.roles.cache.find(r=>r.name==“test”);

错误在于,在discord.js的第12版中,您需要使用
缓存
,因此您的代码将

let role=message.guild.roles.cache.find(r=>r.name==`test`);
让member=message.notices.members.first();
member.roles.add(角色)

您的discord.js版本是什么?discord版本V12现在使用
.cache
。所以试试这个:
message.guild.roles.cache.find(r=>r.name==“test”)
这能回答你的问题吗?这回答了你的问题吗?