繁体   English   中英

批量分配角色给用户列表 discord.js v13

[英]Mass assign roles to the list of users discord.js v13

此代码将指定角色分配给成员列表。 当我尝试从 message.guild.members 获取具有用户 ID 的成员时出现的问题。

代码

// !roleAssign @role 
const roleAssign = async function(message){
  const Role = message.mentions.roles.first();
  // split by new line
  const users = message.content.slice(prefix.length).split(/\r?\n/).slice(1);

  let members = await message.guild.members.fetch();

  users.forEach(user => {
    const u = client.users.cache.find(u => u.tag === user);
    if(u){
      const userId = u.id;
  
      // member with the userID
      let member = members.cache.get(userId);

      // give role to the member
      try{
        member.roles.add(Role)
      }
      catch(e){console.error(e)};
  });

} 

我收到这个错误。 如何将 get function 与获取的成员一起使用?

let member = members.cache.get(userId);
                            ^
TypeError: Cannot read properties of undefined (reading 'get')

这是因为guild.members.fetch()返回一个集合,而不是具有cache属性的GuildMemberManager 这意味着,您可以像这样使用Collection#get() ,而无需cache

let member = members.get(userId);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM