Я пытаюсь создать команду аватара discord.js, и упомянутая часть не работает правильно - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть команда аватара в моем боре разногласий. Когда пользователь использует h.avatar, он выводит свой аватар, который отлично работает. Всякий раз, когда они пытаются использовать h.avatar @user, ничего не происходит.
Вот мой код:

 } if (message.content.startsWith(config.prefix + "avatar")) {
      if (!message.mentions.users.size) {
        const avatarAuthor = new Discord.RichEmbed()
      .setColor(0x333333)
      .setAuthor(message.author.username)
      .setImage(message.author.avatarURL)
        message.channel.send(avatarAuthor);
        let mention = message.mentions.members.first();
        const avatarMention = new Discord.RichEmbed()
        .setColor(0x333333)
        .setAuthor(mention.user.username)
        .setImage(mention.user.avatarURL)
        message.channel.send(avatarMention);

1 Ответ

3 голосов
/ 10 апреля 2019

У вас есть проверка if (!message.mentions.users.size) {, которая запускает команду, только если вы никого не упомянули. Вам нужно либо использовать else { в своем коде, либо сделать:

 if (message.content.startsWith(config.prefix + 'avatar')) {
    const user = message.mentions.users.first() || message.author;
    const avatarEmbed = new Discord.RichEmbed()
        .setColor(0x333333)
        .setAuthor(user.username)
        .setImage(user.avatarURL);
    message.channel.send(avatarEmbed);
}

const user = message.mentions.users.first() || message.author; пытается получить упомянутого пользователя, но если он никого не находит, он использует использованный автором.

...