Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

120
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!