Soy nuevo en el trabajo con API en discord.js y encontré una API de memes en npm ( https://www.npmjs.com/package/something-random-on-discord ). Seguí los pasos exactos en el sitio y obtuve este error:
/home/runner/Penguin69/node_modules/discord.js/src/rest/RequestHandler.js:349 throw new DiscordAPIError(data, res.status, request); ^ DiscordAPIError: Cannot send an empty message at RequestHandler.execute (/home/runner/Penguin69/node_modules/discord.js/src/rest/RequestHandler.js:349:13) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async RequestHandler.push (/home/runner/Penguin69/node_modules/discord.js/src/rest/RequestHandler.js:50:14) { method: 'post', path: '/channels/914839917769658371/messages', code: 50006, httpStatus: 400, requestData: { json: { content: undefined, tts: false, nonce: undefined, embeds: undefined, components: undefined, username: undefined, avatar_url: undefined, allowed_mentions: undefined, flags: undefined, message_reference: undefined, attachments: undefined, sticker_ids: undefined }, files: [] } }mi código era:
const random = require("something-random-on-discord").Random client.on("messageCreate", message => { if (message.content.toLowerCase() === "!meme") { let data = await random.getMeme() message.channel.send(data) }; });¿Tiene esto algo que ver conmigo usando discord.js v13? Si es así, ¿hay alguna otra API/generador de memes que funcione? ¡Espero que alguien pueda ayudar!
También encontré esta otra api de memes: random-jokes-api
Funcionó súper bien para mí en mi bot, ¡así que debería funcionar para ti!
Solo usarías lo siguiente:
const Memer = require("random-jokes-api") const Discord = require("discord.js") const bot = new Discord.Client() // Listen to the ready event bot.on("ready", () => { console.log("Ready!"); }) // Listen to the message event bot.on("message", async (message) => { if (message.content === "meme") { let meme = Memer.meme() let embed = new Discord.MessageEmbed() .setTitle(meme.title) .setImage(meme.url) .setFooter(`Categroy: ${meme.category}`) message.channel.send(embed) } })¡something-random-on-discord no es compatible con Discord.js v13!
¡Hay una solución simple!
Puede tomar la opción image.url y colocarla en una nueva inserción:
const random = require("something-random-on-discord").Random.getMeme(); await message.channel.send({ files: [random.embed.image.url] });