简体   繁体   中英

discord.js: JSON planet property is undefined

I'm making a Discord bot using discord.js, and I'm starting to add JSON stuff to it, so that I can store info for individual users, in a separate file. However, I keep getting an error that says planet is not defined , at the line that says if (bot.log[mentionedGuyName].planet == undefined) { . There are some variables, modules etc. in here that haven't been declared or whatnot, but that's only because if I put all my code on here, it would be pages long. My JSON file is called log.json .

The general purpose of this code block, if it helps, is to see if the user already has a "planet". If so, the bot finds gets that value from the JSON file, and sends it to the channel. If not, then it picks a random one (code I didn't put here because of size)

I think I understand at least kind of why the error is occurring (the planet property isn't defined), but I'm not sure how to fix it. If anyone knows how to declare a JSON property or whatever is going on here, I and my server would be most grateful. Thanks in advance!

Here's my JavaScript file:

let mentionedGuy = message.mentions.members.first();
let mentionedGuyName = null;
let noMentions = message.mentions.members.first() == false || 
message.mentions.members.first() == undefined;
if (noMentions) return;
else mentionedGuyName = mentionedGuy.user.username;

if (message.content.startsWith(prefix + "planet")) {
    if (message.content.length > 7) {
        if (bot.log[mentionedGuyName].planet == undefined) {
            bot.log[mentionedGuyName] = {
                planet: jMoon
                }
                fs.writeFile('./log.json', JSON.stringify(bot.log, null, 4), err => {
                    if (err) throw err;
                });
                message.channel.send(targeting);
                message.channel.send(coords);
        } else {
            message.channel.send(bot.log[mentionedGuyName].planet);
        }
    }
}

Change it so it checks the typeof

if(typeof <var> == 'undefined') //returns true if undefined

Noting that typeof returns a string Source

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM