Código:
const { EmbedBuilder } = require("discord.js"); const got = require("got"); module.exports = { name: "meme", description: "Shows an image of a meme!", run: async (client, message, args) => { got("https://www.reddit.com/r/memes/random/.json").then(response => { const [list] = JSON.parse(response.body); const [post] = list.data.children; const permalink = post.data.permalink; const memeUrl = `https://reddit.com${post.data.permalink}`; const memeImage = post.data.url; const memeTitle = post.data.title; const memeUpvotes = post.data.ups; const memeNumComments = post.data.num_comments; const memeEmbed = new EmbedBuilder() .setTitle(`${memeTitle}`) .setURL(`${memeUrl}`) .setColor("Random") .setImage(memeImage) .setFooter({ text: `👍 ${memeUpvotes} | 💬 ${memeNumComments}` }); message.reply({ embeds: [memeEmbed] }); }); } };Error:
const got = require("got"); ^ Error [ERR_REQUIRE_ESM]: require() of ES Module /app/node_modules/got/dist/source/index.js from /app/commands/Image/meme.js not supported.No estoy muy seguro de qué es este ESM, nunca lo he tratado antes, por lo tanto, no sé qué hacer para solucionarlo.
Creo que tiene algo que ver con el paquete en sí, pero como dije, no tengo ni idea, ya que nunca antes había tenido este error.
got es un ESM nativo y ya no proporciona una exportación de CommonJS.
Para usar la última versión, deberá convertirla a ESM:
"type": "module" a su package.jsonrequire() s y module.export s con import y exportgot de categoría Otra opción es v11.8.3 got que es bastante estable:
Puede ejecutar npm i got@11.8.3 en su consola.