嗨,我是否正在尝试为成员获取用户指定的昵称并获取该成员并获取有关该用户的其他信息。现在我已经确认用户发送的 ARGS[0] 是正确的,但我对匹配的用户收到 NULL 响应。不知道我错过了什么。谢谢
这是我当前的代码。只是想让比赛现在就工作。我还需要考虑此人是否没有昵称来检查用户名。或者认为显示名称属性会更好。谢谢
if(command === "memberinfo") {
let sentNickname = args[0];
message.channel.send(`Sent Nickname: ${sentNickname}`);
const discordserver = client.guilds.get(DragonTS); // Define server to get information from
discordserver.fetchMembers() // Fetch guild members
.then() //.then(console.log)
.catch(console.error);
}
let matchedMember = discordserver.members.find(m => m.nickname === sentNickname);
message.channel.send(`Matched Member ${matchedMember}`);
看起来代码的某些部分没有执行。您需要将所有代码放入.then()
:
if(command === "memberinfo") {
let sentNickname = args[0];
message.channel.send(`Sent Nickname: ${sentNickname}`);
const discordserver = client.guilds.get(DragonTS); // Define server to get information from
discordserver.fetchMembers() // Fetch guild members
.then((serverWithFetchedMembers) => {
let matchedMember = serverWithFetchedMembers.members.find(m => m.nickname === sentNickname);
message.channel.send(`Matched Member ${matchedMember}`);
}) //.then(console.log)
.catch(console.error);
}
它将等待fetchMembers()
函数并在它之后执行您的代码!