我想检查用户是否有角色,但当我尝试获取用户时,它总是返回机器人用户,而不是想要的用户。我该如何着手解决这个问题呢?
下面是我的代码:
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;
}
发布于 2021-06-30 05:59:14
你的代码有点过于复杂,有些东西是不必要的/错误的,例如,你在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
}
https://stackoverflow.com/questions/68189006
复制相似问题