Как получить имя пользователя и аватар этого пользователя, используя имя пользователя - PullRequest
0 голосов
/ 15 ноября 2018

Требование: я должен получить имя пользователя и аватар данного пользователя в сообщении

if (message.content.startsWith(`${prefix}avatar `)) {
        message.channel.send(`${message.mentions.username}'s avatar: ${message.mentions.avatarURL}`)
}

Я получил ошибку:

Аватар для undefined: undefined

1 Ответ

0 голосов
/ 15 ноября 2018

Свойство mentions объекта события message возвращает объект MessageMentions , а не объект пользователя, как вы, вероятно, ожидаете.

Причина этого в том, что вы можете упомянуть более 1 пользователя в сообщении, поэтому этот объект передает вам массив соответствующих пользователей. Следующий код получит первого упомянутого пользователя.

if (message.content.startsWith(`${prefix}avatar `)) {
    let firstUser = message.mentions.users.first();
    message.channel.send(`${firstUser.username}'s avatar: ${firstUser.avatarURL}`) 
}
...