如何重置 discord.js 中的嵌入数据?

How do I reset Embed data in discord.js?

我正在使用 const embed = new Discord.RichEmbed(); 对于我的嵌入。如何重置嵌入值?

在我 运行 一个设置嵌入元素的命令之后,它会转到下一个命令。我怎样才能做到这一点,这样价值观就不会延续下去,我就不会得到这个结果?

myavatar 和 avatar 命令的代码。

client.on('message', message => {
const authorID = message.author.id;
const authorAvatarLink = message.author.avatarURL;

if (message.content.toLowerCase() === commandPrefix + 'myavatar') {
    embed.setAuthor(message.author.username, message.author.avatarURL);
    embed.setDescription(authorAvatarLink);
    embed.setImage(authorAvatarLink);
    message.channel.send(embed);
}

if (message.content.toLowerCase().startsWith(commandPrefix + 'avatar')) {
    var user = message.mentions.users.first();
    var msgContent = message.content.substr(7, (message.content.length));

    if (user != null) {
        embed.setAuthor(user.username, user.avatarURL);
        embed.setDescription(user.avatarURL);
        embed.setImage(user.avatarURL);
        embed.setFooter('Requested by ' + message.author.tag);

        message.channel.send(userMention(authorID), embed);
    } else {
        var errorCmd = (commandPrefix + 'avatar');

        commandError(message, userMention(authorID), errorCmd, msgContent);
    }

    user = undefined;
    delete(user);

    embed.setImage(null);

}
});

我的 membercount 命令代码。

client.on('message', message => {
if (message.content.toLowerCase() === commandPrefix + 'membercount') {
    var memberCount = message.guild.memberCount;

    embed.setColor(nvdMainColor);
    embed.setAuthor(message.author.username, message.author.avatarURL);
    embed.setTimestamp(new Date());
    embed.addField('Total Members', memberCount);

    message.channel.send(embed);
}
});

我该怎么做才能防止这些值转移到其他命令中?

希望我能很好地理解您的问题。只需在不同的变量中定义不同的RichEmbeds即可。

我定义了 embed1embed2embed1 用于 myavatar 命令,embed2 用于 avatar 命令,因此这 2 个 RichEmbeds 是具有不同值的 2 个不同的嵌入。

这是您如何为您的头像和 myavatar 命令执行此操作的代码:

const Discord = require('discord.js');
client.on('message', message => {
    const authorID = message.author.id;
    const authorAvatarLink = message.author.avatarURL;
    const embed1 = new Discord.RichEmbed()
    const embed2 = new Discord.RichEmbed()

    if (message.content.toLowerCase() === commandPrefix + 'myavatar') {
        embed1.setAuthor(message.author.username, message.author.avatarURL);
        embed1.setDescription(authorAvatarLink);
        embed1.setImage(authorAvatarLink);
        message.channel.send({embed : embed1});
    }

    if (message.content.toLowerCase().startsWith(commandPrefix + 'avatar')) {
        var user = message.mentions.users.first();
        var msgContent = message.content.substr(7, (message.content.length));

        if (user != null) {
            embed2.setAuthor(user.username, user.avatarURL);
            embed2.setDescription(user.avatarURL);
            embed2.setImage(user.avatarURL);
            embed2.setFooter('Requested by ' + message.author.tag);

            message.reply({ embed: embed2 });
        } else {
            var errorCmd = (commandPrefix + 'avatar');

            commandError(message, userMention(authorID), errorCmd, msgContent);
        }

        user = undefined;
        delete(user);

        embed2.setImage(null);

    }
    });