繁体   English   中英

如何获取用户角色 discord.js

[英]how to get a users roles discord.js

我想检查用户是否有角色,但是当我尝试获取用户时,它总是返回机器人用户,而不是想要的用户。 我该如何解决这个问题?

这是我的代码:

const member = client.guilds.cache.get(localVars.ServerID).members.cache.find((member) => {
    console.log(member.username);
    return member.username == localVars.username;
});
const role = client.guilds.cache.get(localVars.ServerID).roles.cache.find((role) => {
    return role.name === localVars.RoleName;
});
console.log(member);
if (member.roles.cache.get(role.id)) {
    localVars.ReturnValue = 1;
} else {
    localVars.ReturnValue = 0;
}

您的代码有点过于复杂,有些事情只是不必要/错误,例如您在find()get()函数中调用return :D

你可以像这样简化它:

const { guilds } = client;
const targetGuild = guilds.cache.get(localVars.ServerID);

const member = targetGuild.members.cache.find(user => user.username === localVars.username);

const role = targetGuild.roles.cache.find(role => role.name === localVars.RoleName);

if(member.roles.cache.has(role.id)) {
   localVars.ReturnValue = 1
} else {
   localVars.ReturnValue = 0
}

暂无
暂无

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

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