明文头像搜索

Plaintext avatar search

我有一个头像命令,可以让您在 Discord 中查找成员以获取他们的头像。问题是,无论何时我 运行 带有任何参数的命令(暗示你想找到别人的头像,它都会发送一个空白嵌入。它可以正常发送消息作者头像,但不是其他人的头像。

exports.run = (client, message, args) => {
  let mem = args.join(' ');
  let memb = message.guild.members.find(m => [m.displayName.toLowerCase(), m.user.username.toLowerCase()].includes(mem.toLowerCase()));

  let embed = new Discord.RichEmbed()
    .setImage(memb ? memb.displayAvatarURL : message.author.displayAvatarURL)
    .setColor(client.config.embedColor);

  message.channel.send(embed);
}

如有任何帮助,我们将不胜感激,谢谢。

与其让你输入用户名,不如让命令像这样接受一个标记的用户;

exports.run = (client, message, args) => {
    if(!message.mentions.users.first()) return no.mention.function();
    let member = message.mentions.users.first();
    let memberAvatar = member.avatarURL;
    let embed = new Discord.RichEmbed()
        .setColor(client.config.embedColor)
        .setImage(memberAvatar);
    message.channel.send(embed);
}

它不起作用,因为您正在尝试使用 GuildMember.displayAvatarURL,但那是 User 属性:尝试使用 memb.user.displayAvatarURL:

exports.run = (client, message, args) => {
  let mem = args.join(' ');
  let memb = message.guild.members.find(m => [m.displayName.toLowerCase(), m.user.username.toLowerCase()].includes(mem.toLowerCase()));

  let embed = new Discord.RichEmbed()
    .setImage(memb ? memb.user.displayAvatarURL : message.author.displayAvatarURL)
    .setColor(client.config.embedColor);

  message.channel.send(embed);
}