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

230
Visualizações
Discord.js dice "el mensaje está vacío" pero console.log muestra datos

Actualmente estoy trabajando en un proyecto que envía la información de mis hojas de cálculo de Google a un canal de discordia. Entonces, tengo algunas preguntas:

1) Los datos finales (valor), cuando intento console.log(value) , ¡funcionó!

Eso significa que obtiene los datos de las hojas de cálculo de Google y los configura en (valor).

Pero cuando trato de hacer msg.channel.send(value) , me responde con un bloqueo y dice que no se puede enviar un mensaje vacío, lo que me confunde, ¿por qué?

Y por lo tanto no puedo enviar este valor a mi canal de discordia.


2) Mis datos finales (valor) como se muestra en la parte inferior de mi código, en realidad es una matriz como esta:

 { values: [ [A] , [B] , [C] , [D] , ... ] }

Y no sé cómo cambiarlos a la forma A,B,C,D . ¿Alguien sabe cómo convertirlos?

 const { google } = require('googleapis') async function google_sheet_get() { const auth = new google.auth.GoogleAuth({ keyFile: "./google_sheets/Google_credentials.json", scopes: "https://www.googleapis.com/auth/spreadsheets" }) const client = await auth.getClient() const googleSheets = google.sheets({version: "v4", auth: client}) const spreadsheetId = "My Sheet ID" const getRows = await googleSheets.spreadsheets.values.get({ auth, spreadsheetId, majorDimension: "ROWS", range: "'Day1'!B1:F24" }) return getRows.data } client.on('messageCreate', msg=> { if(msg.content.startsWith(settings.prefix+'ttes')|| msg.content.startsWith(settings.prefix2+'ttes')) { sheet.get().then( value => msg.channel.send(value)) msg.channel.send("Command ttes success.") } })

Realmente aprecio la ayuda, gracias.

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

0

Supongo que el value no es una cadena, cuando miras channel.send() , acepta una cadena, el objeto "MessagePayload" o el objeto "MessageOptions", por lo que si el value es un objeto, intenta interpretarlo como uno de esos y falla porque las propiedades requeridas no están allí.

Intente convertirlo en cadena antes de enviarlo, como: msg.channel.send(`${value}`) o msg.channel.send(value.toString() .


Y en cuanto a la segunda parte de la pregunta, es posible que desee echar un vistazo a Array.flat() .

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