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

252
Visualizações
Problema: la aplicación DiscordJS falla cuando se ejecuta un comando varias veces seguidas

He estado jugando con las opciones de Slash Commands que DiscordJS agregó en V13. Creé mis controladores de comandos y eventos, y todo arranca bien.

El comportamiento actual es:

1.) Arranca sin problema. Todos los mensajes de confirmación se cargan en la consola y los comandos se registran

2.) Cuando ejecuté el comando /ping por primera vez en el canal de Discord, recibí el siguiente mensaje Mensaje de error de Discord

3.) Cuando ejecuto el comando /ping por segunda vez, recibo una respuesta exitosa de "¡Pong!" en el canal ingresé el comando en

4.) Cuando ejecuto el comando /ping por tercera vez, recibo una respuesta exitosa de "¡Pong!" pero el bot falla con el siguiente mensaje de error

 C:\Users\XXXX\Documents\bot\discordBot\node_modules\discord.js\src\structures\interfaces\InteractionResponses.js:94 if (this.deferred || this.replied) throw new Error('INTERACTION_ALREADY_REPLIED'); ^ Error [INTERACTION_ALREADY_REPLIED]: The reply to this interaction has already been sent or deferred. at CommandInteraction.reply (C:\Users\XXXX\Documents\bot\discordBot\node_modules\discord.js\src\structures\interfaces\InteractionResponses.js:94:46) at Client.<anonymous> (C:\Users\XXXX\Documents\bot\discordBot\events\interactionCreate.js:17:23) at processTicksAndRejections (node:internal/process/task_queues:96:5) { [Symbol(code)]: 'INTERACTION_ALREADY_REPLIED' }

Me estoy quedando sin ideas sobre cómo resolver esto. Probé en el comando Ping varias opciones de respuesta a la interacción, pero ninguna solucionó el problema. ¿Alguien se ha encontrado con esto?

Tengo una muestra de código completo en mi Github para revisar: https://github.com/DBAggie/discordBot/tree/dev

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

0

Ok, después de algunas pruebas, encuentro dónde está el problema. Simplemente vuelve a escuchar el evento por cada interactionCreate se activa.

Así que primero no responderá. Y escuche un nuevo evento de creación de interactionCreate .

Antes

 module.exports = { name: 'interactionCreate', execute(interaction, client) { client.on('interactionCreate', async interaction => { console.log(`hit the interaction create script`) if (!interaction.isCommand()) return console.log('Not a valid command'); const command = client.commands.get(interaction.commandName); if (!command) return; try { console.log('Trying to execute') await command.execute(interaction); } catch (error) { await interaction.reply({ content: 'There was an error while executing this command!', ephemeral: true }); } console.log('Below the catch'); }); //console.log('Below the below catch message'); } };

Después

 module.exports = { name: "interactionCreate", async execute(interaction, client) { console.log(`hit the interaction create script`); if (!interaction.isCommand()) return console.log("Not a valid command"); const command = client.commands.get(interaction.commandName); if (!command) return; try { console.log("Trying to execute"); await command.execute(interaction); } catch (error) { await interaction.reply({ content: "There was an error while executing this command!", ephemeral: true, }); } console.log("Below the catch"); //console.log('Below the below catch message'); }, };

¿Mira aquí? Escuchas un nuevo evento cuando cada interacción.

 execute(interaction, client) { client.on('interactionCreate', async interaction => {
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