首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何获取用户角色discord.js

如何获取用户角色discord.js
EN

Stack Overflow用户
提问于 2021-06-30 13:42:26
回答 1查看 108关注 0票数 1

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

下面是我的代码:

代码语言:javascript
代码运行次数:0
运行
复制
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;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-30 13:59:14

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

你可以像这样简化它:

代码语言:javascript
代码运行次数:0
运行
复制
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
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68189006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档