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

214
Vistas
Cómo hacer que `CommandInteraction.reply()` devuelva un `Mensaje` usando la API de discord

Tengo el siguiente fragmento de código (mecanografiado) que genera una inserción en respuesta a una interacción y la envía:

 const embed = await this.generateEmbed(...); await interaction.reply({embeds: [embed]}); const sentMessage: Message = <Message<boolean>> await interaction.fetchReply(); await sentMessage.react('⬅');

Sin embargo, esto falla en tiempo de ejecución porque TypeError: sentMessage.react is not a function .

Esto se explica un poco en los documentos de discord.js :

Devuelve los datos del mensaje sin procesar si se creó una instancia del webhook como WebhookClient o si el canal no está en caché; de lo contrario, se devolverá un mensaje.

Sin embargo, esto sucede incluso si guardo todo en caché:

 const bot = new Client({ makeCache: Options.cacheEverything(), ... });

También tenga en cuenta que no estoy usando un WebhookClient aquí.

¿Por qué CommandInteraction.reply() devuelve un mensaje sin procesar aquí y cómo puedo hacer que devuelva un objeto de Message completo, de modo que pueda usar el método .react() ?

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

0

Hice bastantes pruebas y llegué a la conclusión de que esto sucede porque no estás solicitando la intención de GUILDS . Supongo que sin la intención de GUILDS , GuildChannel no se puede almacenar en caché, ni Message , por lo que devuelve los datos sin procesar de la API.

 const { Client, Intents } = require('discord.js'); const bot = new Client({ intents: [Intents.FLAGS.GUILDS], ... })
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