[英]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.