I’m working on a serverinfo command in discord.js v13 and I don’t know how to fix this error
ERROR:
[Photo Error]: https://i.stack.imgur.com/tcEem.png
if (typeof data !== ‘string’) throw new error(errorMessage); ^
RangeError [EMBED_FIELD_VALUE]: MessageEmbed field values must be non-empty strings.
[Symbol(code)]: ‘EMBED_FIELD_VALUE’
JavaScript
x
57
57
1
const { Client, MessageEmbed, Message } = require(`discord.js`);
2
const moment = require(`moment`)
3
4
module.exports = {
5
name: "serverinfo",
6
description: "Get server information",
7
/**
8
*
9
* @param {Client} client
10
* @param {Message} message
11
* @param {String[]} args
12
*/
13
run: async (client, message, args) => {
14
const guild = message.guild;
15
let embed = new MessageEmbed()
16
.setTitle(message.guild.name)
17
.setThumbnail(message.guild.iconURL())
18
.setColor("RANDOM")
19
.addField(`General Info`, [
20
`ID: ${guild.id}`,
21
`Name: ${guild.name}`,
22
`Owner: ${guild.owner}`,
23
])
24
.addField("Counts", [
25
`Role: ${guild.roles.cache.size} roles`,
26
`Channel: ${guild.channel.cache.size
27
} total (Text: ${guild.channel.cache.filter(
28
(ch) => ch.type === "text"
29
).size}, Voice: ${guild.channel.cache.filter(
30
(ch) => ch.type === "Voice"
31
)})`,
32
`Emojis: ${guild.emojis.cache.size} (Regular: ${guild.emojis.cache.filter((e) => !e.animated).size
33
}, Animated: ${
34
guild.emojis.cache.filter((e) => !e.animated).size
35
})`,
36
])
37
.addField("Additional Information", [
38
`Created: ${
39
moment(guild.createdTimestamp).format(
40
`LT`
41
)
42
} ${ moment(guild.createdTimestamp).format(`LL`) } ${
43
moment(
44
guild.createdTimestamp
45
).fromNow()
46
} `,
47
`Region: ${ guild.region } `,
48
`Boost Tier: ${
49
guild.premiumTier ? `Tier ${guild.premiumTier}` : "None"
50
} `,
51
`Boost Count: ${guild.premiumSubscribtionCount || "0"}`,
52
]);
53
54
message.channel.send({ embed });
55
},
56
};
57
Advertisement
Answer
The second parameter to .addField
must be a string, as your error message says:
MessageEmbed field values must be non-empty strings.
You pass an array, which is not a “non-empty string”. I.e.
JavaScript
1
3
1
let embed = new MessageEmbed()
2
.addField('foo', 'bar')
3
is fine.
JavaScript
1
3
1
let embed = new MessageEmbed()
2
.addField('foo', ['bar', 'baz'])
3
is not.