我想使用ID更改用户的昵称。我试图这样做:
for (id in users) {
message.guild.members.fetch(id).setNickname(users[id]["name"])
.catch(error => { message.channel.send("ok"); })};
};
TypeError: message.guild.members.fetch(...).setNickname(users[id]["name"]) is not a function
答案 0 :(得分:0)
Fetch返回一个Promise(您正在捕获的setNickname也是如此),因此在您调用setNickname时,它尚未完成。您需要使用async / await或.then等待它。
message.guild.members.fetch(id).then(member => {
member.setNickname(users[id]["name"])
.catch(error => message.channel.send("ok"));
}).catch(error => message.channel.send('fetch error'));