I've been trying to built a Embed on discordjs 14.11.0 but whenever I had added star emoji I got this weird error.
node:events:491
throw er; // Unhandled 'error' event
^
ValidationError: Expected the value to be an object, but received string instead
at ObjectValidator.handle (C:\Users\bgang\Desktop\New folder (3)\node_modules\@sapphire\shapeshift\dist\index.js:1207:25)
at ObjectValidator.parse (C:\Users\bgang\Desktop\New folder (3)\node_modules\@sapphire\shapeshift\dist\index.js:212:88)
at EmbedBuilder.setAuthor (C:\Users\bgang\Desktop\New folder (3)\node_modules\@discordjs\builders\dist\index.js:291:26)
at Client.<anonymous> (C:\Users\bgang\Desktop\New folder (3)\index.js:26:12)
at Client.emit (node:events:513:28)
at MessageReactionAdd.handle (C:\Users\bgang\Desktop\New folder (3)\node_modules\discord.js\src\client\actions\MessageReactionAdd.js:49:17)
at module.exports [as MESSAGE_REACTION_ADD] (C:\Users\bgang\Desktop\New folder (3)\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_REACTION_ADD.js:4:37)
at WebSocketManager.handlePacket (C:\Users\bgang\Desktop\New folder (3)\node_modules\discord.js\src\client\websocket\WebSocketManager.js:354:31)
at WebSocketManager.<anonymous> (C:\Users\bgang\Desktop\New folder (3)\node_modules\discord.js\src\client\websocket\WebSocketManager.js:238:12)
at WebSocketManager.emit (C:\Users\bgang\Desktop\New folder (3)\node_modules\@vladfrangu\async_event_emitter\dist\index.js:282:31)
Emitted 'error' event on Client instance at:
at emitUnhandledRejectionOrErr (node:events:394:10)
at process.processTicksAndRejections (node:internal/process/task_queues:84:21) {
validator: 's.object(T)',
given: 'eddieafk#0'
}
What deals with it exactly? Message cant be sent as everytime i tried. I couldnt understand, error dont say why it couldnt be sent? New Embed constructor really bad tho whoever wrote this.
client.on('messageReactionAdd', async (reaction, user) => {
if (reaction.emoji.name === '⭐' && reaction.count > 1) {
const message = reaction.message;
const channel = message.guild.channels.cache.get(starboardChannelId);
const { EmbedBuilder } = require("discord.js")
const embed = new EmbedBuilder()
.setColor('#FFAC33')
.setAuthor(message.author.tag, message.author.displayAvatarURL())
.setDescription(`${message.content}`)
.setFooter(`⭐ 1 • ${message.id}`)
.setTimestamp();
if (message.attachments.size > 0) {
const attachment = message.attachments.first();
if (attachment) {
embed.setImage(attachment.url);
}
}
await channel.send({ embeds: [embed] });
if (channel) {
const fetchMessages = await channel.messages.fetch({ limit: 100 });
const starboardMessage = fetchMessages.find(m => m.embeds.length && m.embeds[0].footer.text.startsWith('⭐') && m.embeds[0].footer.text.endsWith(message.id));
if (starboardMessage) {
const embed = starboardMessage.embeds[0];
const starCount = embed.footer.text.match(/⭐ (\d+)/)[1];
const newEmbed = embed.setFooter(`⭐ ${parseInt(starCount) + 1} • ${message.id}`);
await starboardMessage.edit({ embeds: [newEmbed] });
} else {
}
}
}
});