纯文本头像搜索

时间:2018-11-20 04:01:10

标签: javascript node.js discord discord.js

我有一个头像命令,该命令可让您查找成员以在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);
}

任何帮助将不胜感激,谢谢。

2 个答案:

答案 0 :(得分:2)

它不起作用,因为您尝试使用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);
}

答案 1 :(得分:0)

您不必键入用户名,而是像这样使命令接受带标签的用户;

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);
}