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

299
Visualizações
¿Cómo podría hacer que la función setTimeout(function(){message.delete();} elimine un Discord Message Embed?

Me estoy metiendo en javascript, o más específicamente en discord.js y he decidido intentar hacer un bot de moderación. Creé un comando de prohibición, y después de prohibir al usuario, envía un mensaje incrustado que muestra la información de la prohibición, como el motivo de la prohibición, la etiqueta del usuario, etc. Decidí usar la función setTimeout para eliminar la incrustación después de 5 segundos. Pero, no puedo averiguar cómo hacerlo. Sé exactamente cómo usar la función setTimeout, es solo que no sé qué hacer para eliminar la inserción. Aquí está mi código:

 let kickEmbed = new Discord.MessageEmbed() .setTitle('Member Kicked!') .setColor("GREEN") .addFields( {name: `Member:`, value: `${memberTarget}`}, {name: `Moderator`, value: `${message.author}`}, {name: `Reason`, value: `${kickReason}`} ) await message.channel.send({embeds: [kickEmbed]}) setTimeout(function(){ kickEmbed.delete(); }, 5000);

El problema es el "kickEmbed.delete();" parte. No se que poner ahi. kickEmbed no funciona, msg no funciona, el mensaje tampoco funciona. Aquí hay un error si eso ayuda: 'kickEmbed.delete' is not a function

puede alguien ayudarme a resolver esto?

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

0

 setTimeout(function(newArg) { newArg.delete(); }, 5000, KickEmbed);

No me gusta hacer publicaciones, pero la primera parte de la solución es comprender lo que envía a un tiempo de espera. Si no envía argumentos, es una llamada global y si se actualiza/cambia o se elimina, se producen errores en el código, por lo que es óptimo pasar el valor que pretende usar aquí. La segunda parte es la discordia y su uso adecuado. GL

about 4 years ago · Juan Pablo Isaza Relatório

0

Esto se debe a que lo está ejecutando en el propio objeto MessageEmbed . Haga que guarde el mensaje enviado en una variable, en lugar del objeto incrustado

 let kickEmbed = new Discord.MessageEmbed() .setTitle('Member Kicked!') .setColor("GREEN") .addFields( {name: `Member:`, value: `${memberTarget}`}, {name: `Moderator`, value: `${message.author}`}, {name: `Reason`, value: `${kickReason}`} ) let sentMessage = await message.channel.send({embeds: [kickEmbed]}) setTimeout(function(){ sentMessage.delete(); }, 5000)
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