Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

217
Visualizações
How to solve "Message content must be a non-empty string" in node.js

Here is my code,

const { Client, Intents } = require('discord.js');
const mineflayer = require("mineflayer");
const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES] });

let sending = false
let chatData = []

let prefix = ".";
var settings = {
    username: "StilShem_tvink",
    host: "mstnw.net",
};

const bot = mineflayer.createBot(settings);

bot.on('kicked', (reason, loggedIn) => console.log(reason, loggedIn));
bot.on('error', err => console.log(err));

client.on("ready", async =>{
    console.log("Discord bot is online!")
})

bot.on("login", async =>{
    console.log("Minecraft bot is online!")
})

bot.on("message", message => {
    if(sending == true) {
        chatData.push(`${message}`)
    }
})

client.on("messageCreate", async msg => {
    let args = msg.content.split(" ").slice(1)

    if(msg.content.startsWith(".chat")) {
        let toSend = args.join(" ");
        if(!toSend) return msg.reply("No args")

        bot.chat(toSend)
        sending = true
        msg.channel.send(`${msg.author.tag} just sent ${toSend}`)

        setTimeout(() => {
            sending = false
            msg.channel.send(chatData.join("\n"))
            chatData = []
        }, 750)
    }
})

This code is for minecraft mineflayer with discord. And this code give me error.

C:\Users\ArtemiiYT\node_modules\discord.js\src\util\Util.js:414 if (!allowEmpty && data.length === 0) throw new error(errorMessage); ^

RangeError [MESSAGE_CONTENT_TYPE]: Message content must be a non-empty string. at Function.verifyString (C:\Users\ArtemiiYT\node_modules\discord.js\src\util\Util.js:414:49) at MessagePayload.makeContent (C:\Users\ArtemiiYT\node_modules\discord.js\src\structures\MessagePayload.js:113:22) at MessagePayload.resolveData (C:\Users\ArtemiiYT\node_modules\discord.js\src\structures\MessagePayload.js:128:26) at TextChannel.send (C:\Users\ArtemiiYT\node_modules\discord.js\src\structures\interfaces\TextBasedChannel.js:168:61) at Timeout._onTimeout (C:\Users\ArtemiiYT\Desktop\Всё\AFK bot\AFKBOTDS\bot.js:46:25) at listOnTimeout (node:internal/timers:557:17) at processTimers (node:internal/timers:500:7) { [Symbol(code)]: 'MESSAGE_CONTENT_TYPE' }

Node.js v17.1.0

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

I didn't go on my way to run the code, but I think the chatData array is empty. so when you try to .join("\n") all the elements inside it together, you just get an empty string which discord just rejects and you get an error. so you might want to check if there is anything in the array first.

if you are here for the code just add this in the interval function:

if(chatData.length < 1) {
  // maybe inform the user there is no new chat message?
  return;
}
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda