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

119
Vistas
¿Cómo .deferReply al canal especificado?

¿Cómo puedo hacer que el bot envíe un mensaje a un canal específico mientras usa .deferReply y .editReply ? Actualmente, recibo un error que dice que suggestionChannel.deferReply is not a function . Aquí está mi código:

 const { SlashCommandBuilder } = require("@discordjs/builders"); const { MessageEmbed } = require("discord.js"); module.exports = { data: new SlashCommandBuilder() .setName("suggest") .setDescription("Send your suggestion to the specified channel") .addStringOption((option) => option .setName("suggestion") .setDescription("Your suggestion") .setRequired(true) ), async execute(interaction, client) { var suggestionChannelID = "900982140504793109"; var suggestionChannel = client.channels.cache.get(suggestionChannelID); const embed = new MessageEmbed() .setColor("#0099ff") .setTitle(`New suggestion by ${interaction.member.displayName}`) .setDescription(`${interaction.options.getString("suggestion")}`); await suggestionChannel.deferReply(); await suggestionChannel .editReply({ embeds: [embed], }) .then(function (interaction) { interaction.react(`👍`).then(interaction.react(`👎`)); }); }, };
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

¿Cómo puedo hacer que el bot envíe un mensaje a un canal específico, mientras usa .deferReply y .editReply?

Bueno, la respuesta corta es; no puedes Pero puedes hacer esto:

Como ya dice el error, deferReply() no es un método de la clase TextBasedChannels , definida por su suggestionChannel .

En su lugar, intente enviar un mensaje al canal en lugar de responder. Las respuestas solo se pueden ejecutar en el canal de la interacción:

 var suggestionChannelID = "900982140504793109"; var suggestionChannel = client.channels.cache.get(suggestionChannelID); const embed = new MessageEmbed() .setColor("#0099ff") .setTitle(`New suggestion by ${interaction.member.displayName}`) .setDescription(`${interaction.options.getString("suggestion")}`); // use this instead await suggestionChannel.send({ embeds: [embed], });

Nota al margen de PS, deferReply() inicia un temporizador de 15 minutos antes de que caduque la interacción y activa el texto 'x está pensando...' para que aparezca cuando el cliente está calculando cosas, así que intente llamarlo lo antes posible. De forma predeterminada, las interacciones caducan después de 3 segundos, por lo que si su bot no puede terminar lo que debe lograr dentro de ese período de tiempo, esa interacción fallará.

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