"Whois" 命令 DiscordJS

"Whois" Command DiscordJS

我需要修复我的不和谐命令“Whois”。有人可以帮我修复我的代码吗?在 twt 上给我发消息:KiseeIsHere(不是真的有必要,我只需要扩展我的消息,因为 stackflow 需要我这样做)。

module.exports.run = async (client, message, args) => {
    const { MessageEmbed } = require('discord.js');

    let member = message.mentions.users.first() || message.guild.members.cache.get(args[0]) || message.author || message.member;
    let avatar = member.displayAvatarURL({ size: 1024, dynamic: true });

    const statuses = {
      online: "Online",
      dnd: "Dnd",
      idle: "Idle",
      offline: "Offline"
    };

    let itstatus = statuses;

    const exampleEmbed = new MessageEmbed()
      .setTitle(member.username + "'s Profile")
      .setColor('#2f3136')
      .setThumbnail(avatar)
      .addField("User Tag", member.tag, true)
      .addField("ID", `${member.id}`, true)
      .addField("Status", itstatus[member.presence.status], true)
      .addField(
        `Roles Count`,
        message.guild.members.cache.get(member.user.id).roles.cache.size ||
          "No Roles!",
        true
      )
      .addField(`Avatar Url`, `[Link](${avatar})`, true)
      .setFooter(`Requested by ${message.author.username}`)
      .setTimestamp();
    
    message.channel.send({ embeds: [exampleEmbed] });
}

module.exports.config = {
    name: "whois",
    aliases: ['ui']
}

进行了一些更改,主要是为了在有人运行它以获取有关机器人的信息时获取用户资料,并稍微清理了代码。我已经测试并按预期工作

const {
    MessageEmbed,
} = require('discord.js');

module.exports.run = async (client, message, args) => {
    const member = message.mentions.members.first() || message.guild.members.cache.get(args[0]) || message.member;

    const statuses = {
        online: "Online",
        dnd: "Dnd",
        idle: "Idle",
        offline: "Offline",
    };
    
    let status;
    if (!member.presence) {
        status = 'Unknown;'
    } else {
        status = statuses[member.presence.status]
    }

    const exampleEmbed = new MessageEmbed()
        .setTitle(`${member.user.username}'s Profile`)
        .setColor('#2f3136')
        .setThumbnail(member.user.avatarURL({
            size: 1024,
            dynamic: true,
        }))
        .addFields({
            name: "User Tag",
            value: `${member.user.tag}`,
            inline: true,
        }, {
            name: "ID",
            value: `${member.id}`,
            inline: true,
        }, {
            name: "Status",
            value: `${status}`,
            inline: true,
        }, {
            name: `Roles Count`,
            value: `${message.guild.members.cache.get(member.user.id).roles.cache.size}` || "No Roles!",
            inline: true,
        }, {
            name: `Avatar Url`,
            value: `[Link](${member.user.avatarURL()})`,
            inline: true,
        })
        .setFooter({
            text: `Requested by ${message.author.username}`,
        })
        .setTimestamp();

    message.channel.send({
        embeds: [exampleEmbed],
    });
};

module.exports.config = {
    name: "whois",
    aliases: ['ui'],
};