es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

discord.js editar tiempo de visualización de embebido

Hice un comando divertido y hasta ahora no he tenido errores.

Aquí está el código:

const { MessageEmbed } = require('discord.js')

module.exports = {
    name: "spin",
    description: "spin",
    permissions: ["SEND_MESSAGES"],

run: async (client, message, args) => {

if(message.author.bot) return;

let number = [“0”, “1”, “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”, “10”, “11”, “12”, “13”, “14”, “15”, “16”, “17”, “18”, “19”, “20”, “21”, “22”, “23”, “24”, “25”, “26”, “27”, “28”, “29”, “30”, “31”, “32”, “33”, “34”, “35”, “36”];

let secondEmbed = new MessageEmbed()
.setTitle(“El giro está en proceso…”)
.setColor(‘#fc8eac’)
.setTimestamp()
.addField(“Girador”, <@!${message.author.id}>, true)
.addField(“Resultado”, <a:dotload:928216650614968321>, true)
.setThumbnail(‘https://cdn.discordapp.com/emojis/928270805492699177.webp?size=160&quality=lossless’)
.setFooter(${message.author.tag}, message.author.displayAvatarURL());

const m = await message.channel.send({embeds: [secondEmbed] })

let firstEmbed = new MessageEmbed()
.setTitle(“¡El giro ha terminado!”)
.setColor(‘#fc8eac’)
.setTimestamp()
.addField(“Girador”, <@!${message.author.id}>, true)
.addField(“Resultado”, ${number[Math.floor(Math.random() * number.length)]}, true)
.setThumbnail(‘https://cdn.discordapp.com/emojis/928270805492699177.webp?size=160&quality=lossless’)
.setFooter(${message.author.tag}, message.author.displayAvatarURL());

await m.edit(({embeds: [firstEmbed] }), {timeout: 5000})
}
}
“`

Estoy teniendo problemas en esta línea porque la inserción se edita en menos tiempo del especificado {timeout: 5000}

Necesito ayuda para arreglar esto.

js
await m.edit(({embeds: [firstEmbed] }), {timeout: 5000})

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para solucionar el problema con la edición demasiado rápida del embed, puedes intentar aumentar la duración del timeout a un valor más alto, como 10000 (10 segundos) o incluso más si es necesario.
    Por ejemplo:

    await m.edit(({embeds: [firstEmbed] }), {timeout: 10000})
    

    Además, también puedes intentar agregar un retraso o un timeout antes de enviar el segundo embed. Puedes usar la función setTimeout, de esta manera:

    const m = await message.channel.send({embeds: [secondEmbed]});
    setTimeout(async() => {
      await m.edit(({embeds: [firstEmbed]}), {timeout: 5000});
    }, 5000);
    

    Esto esperará 5 segundos (la misma duración que el timeout para editar el embed) antes de enviar el segundo embed.

Comments are closed.