Skip to content Skip to sidebar Skip to footer

Discord Bot Embed Variables Come Back As Undefined

This is my code and the values keep being undefined https://cdn.discordapp.com/attachments/501784044649054231/509529437419732994/unknown.png This code is suppose to be !rebirth 1

Solution 1:

exports.run = (_client, message, args) => {
    let rest_of_the_string = message.content.slice('embed'.length); //removes the first partlet array_of_arguments = rest_of_the_string.split(' '); //[Cash LifeCoints Tokens]constDiscord = require('discord.js')

    var embed = newDiscord.RichEmbed()
        .setTitle("Rebirth")
        .setAuthor("Author Name", `${message.author.avatarURL}`)
        .setTimestamp()
        .addField("Collective Cash", array_of_arguments[0])
        .addField("Lifecoins", array_of_arguments[1])
        .addField("Tokens", array_of_arguments[2])
        .addBlankField(true)

    message.channel.send({
        embed
    })
    }

Try that

Solution 2:

2 issues:

1st problem is with the last line:

message.channel.send({embed});

In JS, {embed} is the same as saying {embed:undefined} as you didn't specify any values.

In discord.js, just doing message.channel.send(embed) does the trick.

2nd problem:

You used object destructuring in the variables, In your code:

let {Cash} = args[0]; // Remember arrays are 0-based!.let {Tokens} = args[1];
let {LifeCoins} = args[2];

is equal to

let Cash = args[0].Cash; // Remember arrays are 0-based!.let Tokens = args[1].Tokens;
let LifeCoins = args[2].LifeCoins;

which obviously returns undefined (there is no "Cash" property)

Instead, you should do:

let Cash = args[0]; // Remember arrays are 0-based!.let Tokens = args[1];
let LifeCoins = args[2];

The code should now look like this:

exports.run = (_client, message, args) => {
letCash = args[0]; // Remember arrays are 0-based!.letTokens = args[1];
letLifeCoins = args[2];
constDiscord = require('discord.js')

var embed = newDiscord.RichEmbed()
    .setTitle("Rebirth")
    .setAuthor("Author Name", `${message.author.avatarURL}`)
    .setTimestamp()
    .addField("Collective Cash", `${Cash}`)
    .addField("Lifecoins", `${LifeCoins}`)
    .addField("Tokens", `${Tokens}`)
    .addBlankField(true)

message.channel.send(embed)

Post a Comment for "Discord Bot Embed Variables Come Back As Undefined"