Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

239
Vistas
"DiscordAPIError: no se puede enviar un mensaje vacío"

Estoy tratando de hacer un bot de discordia de blasfemias. Siempre que lo ejecuto, está bien, pero cuando escribo una palabra que se supone que debe filtrar, se detiene. Este es el error que recibo al escribir una palabra bloqueada.

 DiscordAPIError: Cannot send an empty message at RequestHandler.execute (C:\Users\loser\Desktop\word filter bot\node_modules\discord.js\src\rest\RequestHandler.js:350:13) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async RequestHandler.push (C:\Users\loser\Desktop\word filter bot\node_modules\discord.js\src\rest\RequestHandler.js:51:14) at async TextChannel.send (C:\Users\loser\Desktop\word filter bot\node_modules\discord.js\src\structures\interfaces\TextBasedChannel.js:175:15) at async Client.<anonymous> (C:\Users\loser\Desktop\word filter bot\index.js:33:19) { method: 'post', path: '/channels/954840804466257921/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: [] } }

y aquí está mi código

 const Discord = require('discord.js'); const client = new Discord.Client({ intents: ["GUILDS", "GUILD_MESSAGES"] }); const prefix = '-' client.once('ready', () => { console.log('woohoo, Im ready to get online and block some words!') client.user.setActivity('-help', {type: 'LISTENING'}) }) client.on('message', async message => { if(message.channel.type === 'dm' || message.author.bot) return; const logChannel = client.channels.cache.find(channel => channel.id === '954845946326450206') let words = ["banana", "orange"] let foundInText = false; for (var i in words) { if (message.content.toLowerCase().includes(words[i].toLowerCase())) foundInText = true; } if (foundInText) { let logEmbed = new Discord.MessageEmbed() .setDescription(`<@${message.author.id}> Said a bad word`) .addField('The Message', message.content) .setColor('RANDOM') .setTimestamp() logChannel.send(logEmbed) let embed = new Discord.MessageEmbed() .setDescription(`That word is not allowed here`) .setColor('RANDOM') .setTimestamp() let msg = await message.channel.send(embed); message.delete() msg.delete({timeout: '3500'}) } })

¿Hay alguna forma de que me puedan ayudar? Realmente me gustaría poner esto en marcha.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Supongo que estás usando discord.js v13.

El método de send solo toma un parámetro desde v13. Puedes usar send({ embeds: [your, cool, embeds] }); para enviar incrustaciones o cualquier mensaje que contenga no solo contenidos.

Además Message.prototype.delete() no toma ningún parámetro ahora. Debe usar setTimeout si desea eliminar mensajes después de una cierta cantidad de tiempo.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda