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

时间:2019-03-22 08:58:50

标签: javascript discord discord.js

我正在使用$ /bin/studentpass enter name to search: John Smith name not found: John Smith $ ./bin/studentpass enter name to search: John Doe found: John Doe (pass: 45678) $ ./bin/studentpass enter name to search: Mary Jane found: Mary Jane (pass: 12345) 为我的嵌入。如何重置Embed值?

我运行了设置嵌入元素的命令后,它会转移到下一个命令。我该如何做到这一点,以使这些值不会保留下来,而我也不会得到这个结果?

enter image description here

我的myavatar和avatar命令代码。

const embed = new Discord.RichEmbed();

我的membercount命令代码。

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

}
});

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

1 个答案:

答案 0 :(得分:1)

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

我定义了embed1embed2embed1用于myavatar命令,embed2用于化身命令,因此,这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);

    }
    });