获取 discord.js 中不共享同一服务器的用户的头像
Get avatar of an user in discord.js that doesn't share the same server
我的机器人有一个小问题。为了开发我的机器人,我制作了一个新的开发机器人,它与我的普通机器人共享相同的代码,但有自己的令牌。
但是,我运行在开发的过程中遇到了一个小问题。
我使用这个代码来获取某人的头像:
client.users.get(event.user.uid).avatarURL
这在我的正常情况下工作正常,但是在我的 Dev-Bot 上我收到此错误消息:
Error getting documents TypeError: Cannot read property 'AvatarURL' of undefined
我认为这是因为我的机器人无法访问用户的头像,因为它与该用户不共享 server/guild。
我可以使用任何解决方法吗?
由于 Discord.js 及其缓存方式,并非所有用户都将缓存在机器人中。虽然它实际上对用户一无所知的可能性很小,但 Discord API 仍然允许您从中获取信息的可能性很大。
要在最新的 master 中通过缓存 解决这个问题,我们必须使用 Client.users,其中 returns 一个 UserStore. Within the UserStore, we can use a method called fetch 来获取有关用户的信息。
要在最新的稳定版中解决这个问题,我们必须使用一个名为 Client.fetchUser 的方法,它做同样的事情但是 returns用户而不是 UserStore。
请注意,这仅适用于使用机器人帐户。下面是它的用法示例:
// Using Discord.js Stable
bot.fetchUser(theUsersID).then(myUser => {
console.log(myUser.avatarURL); // My user's avatar is here!
});
// Using Discord.js Master
bot.users.fetch(theUsersID).then(myUser => {
console.log(myUser.avatarURL()); // My user's avatar is here!
});
如果获取用户时出错(例如,DiscordAPI 权限错误),这意味着您的机器人无法在不知道用户是谁的情况下获取用户头像(或与用户共享公会)。编码愉快!
我的机器人有一个小问题。为了开发我的机器人,我制作了一个新的开发机器人,它与我的普通机器人共享相同的代码,但有自己的令牌。 但是,我运行在开发的过程中遇到了一个小问题。
我使用这个代码来获取某人的头像:
client.users.get(event.user.uid).avatarURL
这在我的正常情况下工作正常,但是在我的 Dev-Bot 上我收到此错误消息:
Error getting documents TypeError: Cannot read property 'AvatarURL' of undefined
我认为这是因为我的机器人无法访问用户的头像,因为它与该用户不共享 server/guild。
我可以使用任何解决方法吗?
由于 Discord.js 及其缓存方式,并非所有用户都将缓存在机器人中。虽然它实际上对用户一无所知的可能性很小,但 Discord API 仍然允许您从中获取信息的可能性很大。
要在最新的 master 中通过缓存 解决这个问题,我们必须使用 Client.users,其中 returns 一个 UserStore. Within the UserStore, we can use a method called fetch 来获取有关用户的信息。
要在最新的稳定版中解决这个问题,我们必须使用一个名为 Client.fetchUser 的方法,它做同样的事情但是 returns用户而不是 UserStore。
请注意,这仅适用于使用机器人帐户。下面是它的用法示例:
// Using Discord.js Stable
bot.fetchUser(theUsersID).then(myUser => {
console.log(myUser.avatarURL); // My user's avatar is here!
});
// Using Discord.js Master
bot.users.fetch(theUsersID).then(myUser => {
console.log(myUser.avatarURL()); // My user's avatar is here!
});
如果获取用户时出错(例如,DiscordAPI 权限错误),这意味着您的机器人无法在不知道用户是谁的情况下获取用户头像(或与用户共享公会)。编码愉快!