gpt4 book ai didi

node.js - Discordjs 检查用户是否具有角色

转载 作者:太空宇宙 更新时间:2023-11-04 03:23:06 25 4
gpt4 key购买 nike

我的代码运行良好,我只需要检查用户是否具有角色,它会记录所有用户及其 ID、鉴别器和用户名 exc。我只是无法获得角色。各位可以帮忙吗?

client.on('ready', () => {
console.log(`logged in as ${client.user.username}`);

var Count;
for(Count in client.users.array()){
var User = client.users.array()[Count];
if(User.username == "someUsername"){
//User.sendMessage("you");
}
//User.checkRole("Admin");

}
}

checkRole() 函数是我编写的。我只是需要一些帮助。

client.on('ready', () => {
console.log(`logged in as ${client.user.username}`);

var Count;
for(Count in client.users.array()){
var User = client.users.array()[Count];
if(User.hasRole("Admin")){
console.log(User.username);
}
}
})

最佳答案

要访问角色,您必须通过公会来访问它,而不是用户。 (正如@Wright提到的)

我会使用 map 来保存所有公会成员,然后遍历每个成员(这样当您遇到具有特定角色名称的成员时,您仍然可以访问公会对象(因为它是一个公会成员对象)

m = client.guilds.map(function (obj) {
return obj.members;
});
for (var i = 0; i < m.length; i++) {
console.log("\n\nNew Guild: ");
console.log(m[i].map(function (obj) {
return obj.guild.name + " , " + obj.user.username + " : " + obj._roles;
}).join('\n'));
}

我得到的输出是(我删除了用户名): Output

关于node.js - Discordjs 检查用户是否具有角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48029112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com