client.on("message", async message =>{
message.guild.members.fetch({query: "username here", limit: 1})
.then( members => console.log(members.user.id)) //results in undefined
.catch(console.error);
}
我希望能够通过用户名获取用户ID。在这种情况下,我使用“ fetch()”方法和其中的一个查询。但是,当我尝试登录(members.user.id)时,我得到“未定义”。问题是,每当我通过用户ID获取(请参见下面的代码)时,我都可以访问用户ID,用户名等。如何通过用户名获取用户ID,然后能够获取用户ID。我以此为参考点https://discord.js.org/#/docs/main/master/class/GuildMemberManager?scrollTo=fetch
如果他们是通过用户名获取用户ID的简便方法,请告知。
client.on("message", async message =>{
message.guild.members.fetch("userID here")
.then( members => console.log(members.user.username))// a username is logged
.catch(console.error);
}
答案 0 :(得分:1)
即使限制为1,它仍然会返回一个集合,因此您需要获取该集合的第一个成员
message.guild.members.fetch({query: "username here", limit: 1})
.then(members => {
const member = members.first();
//no need to convert it into a user
console.log(member.id);
});