Quería hacer un comando para que el bot devolviera su estado de conexión a la base de datos, pero recibí un error y ahora estoy un poco confundido.
RangeError [MESSAGE_CONTENT_TYPE]: Message content must be a non-empty string. const { MessageEmbed } = require('discord.js'); const quick = require('quick.db'); module.exports = { name: 'ping', aliases: [], description: 'Get bot ping.', permissions: [], async execute(message, client) { const ping = await getDBPingData(); const messagePing = Date.now(); const msg = await message.channel.send('Loading...'); const endMessagePing = Date.now() - messagePing; const embed = new MessageEmbed() .setDescription( ` Database ping data: - Fetch ping: \`${ping.endGet}ms\` - Wright ping: \`${ping.endWright}ms\` - Avrage ping: \`${ping.avarage}ms\` Message ping: \`${endMessagePing}ms\` ` ) .setColor('GREEN') .setTimestamp(); msg.edit({ content: '', embed, }); }, }; async function getDBPingData() { // get the fetch data ping const startGet = Date.now(); await quick.get('QR=.'); const endGet = Date.now() - startGet; // get the wright data ping const startWright = Date.now(); await quick.set('QR=.', Buffer.from(startWright.toString()).toString('base64')); const endWright = Date.now() - startWright; // avrage ping time const avarage = (endGet + endWright) / 2; try { quick.delete('QR=.'); } catch (error) {} return { endGet, endWright, avarage }; } Estoy usando discord.js v13, y los paquetes en uso para este comando son: discord.js y quick.db .
Prueba esto:
// only need to edit embed in an embeds array msg.edit({ embeds: [embed] })En v13, los mensajes enviados por bots ahora admiten hasta 10 incrustaciones. Como resultado, la opción de inserción se eliminó y se reemplazó con una matriz de incrustaciones, que debe estar en el objeto de opciones, por lo que la edición de su mensaje debe ser msg.edit({ embeds: [embed] }) .
Si también desea eliminar el texto anterior ( Loading... ), debe agregar content: null para proporcionar una cadena vacía ( '' ) ya que el content arrojará un RangeError .
msg.edit({ content: null, embeds: [embed], });