I want to take the names from data.json and post it on a discord embed. For example I tried to print Animal Skull in a embed but it gave me that error.
error
Unhandled Rejection: TypeError: Cannot read properties of undefined (reading '0')
test.js
const { EmbedBuilder } = require("discord.js");
const datapath = ('data.json')
module.exports = {
config: {
name: "test",
description: "Just a test command!",
},
permissions: ['SendMessages'],
owner: false,
run: async (client, message, args, prefix, config, db) => {
message.reply({ embeds: [
new EmbedBuilder()
.setDescription(datapath.names[0])
.setColor("Green")
] })
},
};
my data.json
[
{
"names": "Animal Skull",
"itemtype": "Block, 32, 4, No, Yes",
"image": "https://static.wikia.nocookie.net/cubixworlds/images/4/4c/Animal_Skull.png/revision/latest?cb=20220720212850"
},
{
"names": "Asteroid Block",
"itemtype": "Block, 1, 1, No, Yes",
"image": "https://static.wikia.nocookie.net/cubixworlds/images/f/fe/Asteroid_Block.png/revision/latest?cb=20220725063800"
}
]
I would be really gratefull if anyone can help me.
CodePudding user response:
You should use require
to get data from json
const datapath = require('./data.json')
And your json contains an array of objects so use datapath[0].names
to get Animal skull