Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 当我试图通过rolename[discord.js]获取角色对象时,我不断地出错_Node.js_Discord.js - Fatal编程技术网

Node.js 当我试图通过rolename[discord.js]获取角色对象时,我不断地出错

Node.js 当我试图通过rolename[discord.js]获取角色对象时,我不断地出错,node.js,discord.js,Node.js,Discord.js,代码 let role = message.guild.roles.cache.find(role => role.name === args[1]); const member = message.mentions.members.first(); member.roles.remove(role).catch((e) => console.log(e)); 这里args[1]是角色的名称。 此代码以前可以工作,但现在显示此错误 错误: T

代码

let role = message.guild.roles.cache.find(role => role.name === args[1]);                
const member = message.mentions.members.first(); 
member.roles.remove(role).catch((e) => console.log(e));
这里args[1]是角色的名称。 此代码以前可以工作,但现在显示此错误

错误:

   TypeError [INVALID_TYPE]: Supplied roles is not an Array or Collection of Roles or Snowflakes.
        at GuildMemberRoleManager.remove
 [Symbol(code)]: 'INVALID_TYPE'

编辑:角色未定义

当使用
GuildMemberRoleManager的
删除(RoleErrors,[reason)]
方法时,您需要确保传递角色数组、雪花集合或雪花,如错误中所述。因此,正确的解决方案是:

let role=message.guild.roles.cache.find(role=>role.name==args[1]);
const member=message.indications.members.first();
member.roles.remove(role.id).catch((e)=>console.log(e));

发生这种情况时,
role
实际上是一个角色对象,还是为null/未定义?此处的角色未定义。只有在执行roles.fetch()操作后,才会填充roles.cache。例如,要获取一个公会的所有角色,然后搜索它们,您可以执行message.guild.roles.fetch().get(role=>role.name==args[1]);然后,在以后使用角色列表时,可以使用message.guild.roles.cache。